Par programme ou non? Quelle langue, quelle plateforme?
Michael Petrotta,
Via une application ou via les commandes du système d'exploitation? Si à travers le système d'exploitation pourriez-vous s'il vous plaît dire quel système d'exploitation .. Merci
Mahesh Velaga
Réponses:
130
Il existe un site Web où vous pouvez télécharger votre image et voir le résultat.
#!/bin/bashFile_png="${1?:Usage: $0 file.png}"if[[!-s "$File_png"]];then
echo >&2"The first argument ($File_png)"
echo >&2"must be a file having a size greater than zero"(set-x ; ls -s "$File_png")exit1fiFile="${File_png%.*}"
convert "$File_png""$File.pnm"# PNG to PNM
potrace "$File.pnm"-s -o "$File.svg"# PNM to SVG
rm "$File.pnm"# Remove PNM
Commande sur une ligne
Si vous souhaitez convertir de nombreux fichiers, vous pouvez également utiliser la commande à une ligne suivante:
L'image perd de la couleur lorsqu'elle est convertie de pnm en svg à l'aide de potrace. Existe-t-il un moyen de conserver la couleur?
Coder
1
Salut @mundella. J'ai toujours utilisé potracedes icônes en noir et blanc. Merci pour vos commentaires. Mais désolé aucune idée de comment conserver les couleurs ... Ho! J'ai une idée: si votre image originale a peu de couleurs (disons trois couleurs uniques), vous pouvez créer trois images initiales (une pour chaque couleur). Convertissez ensuite en SVG. Et enfin, fusionnez les trois contenus SVG dans un seul fichier (SVG est basé sur XML). J'espère que cela pourrait vous aider ...
Santé
@olibre Existe-t-il une plate-forme pour faire les mêmes choses de manière pragmatique
Ami Kamboj
1
Salut @AmiKamboj. Je ne suis pas sûr de comprendre votre question. Les commandes convertet potracesont disponibles sur de nombreuses plateformes. J'utilise des ordinateurs Linux. Je viens d'utiliser ces commandes hier pour produire un SVG à partir d'un papier numérisé. Vous pouvez voir le résultat: cpp-frug.github.io/images/Cpp-President-2017.svg Veuillez expliquer plus sur votre cible. Que voulez-vous / me demandez-vous? Quel est votre besoin / souhait?
Santé
1
J'ai utilisé à peu près tous les convertisseurs x en svg en ligne. Le paquet potrace npm les a tous soufflés hors de l'eau. C'est génial.
tsteve
59
Un png est un style d'image bitmap et un SVG est une conception graphique vectorielle qui prend en charge les bitmaps, ce n'est donc pas comme s'il convertissait l'image en vecteurs, juste une image incorporée dans un format vectoriel. Vous pouvez le faire en utilisant http://www.inkscape.org/ qui est gratuit. Il serait intégré, mais il dispose également d'un moteur de type Live Trace qui tentera de le convertir en chemins si vous le souhaitez (en utilisant Potrace). Voir trace en direct dans Adobe Illustrator (Commericial) en est un exemple:
J'ai utilisé la trace en direct dans Inkscape pour recréer des logos avec des originaux perdus depuis longtemps. À moins que la dernière version n'ait apporté quelques améliorations, c'est un peu hasardeux. Cela dit, j'ai également tracé manuellement certains logos dans Inkscape et réussi assez bien.
grand commentaire. Nous avons remarqué que iOS 7.1 Safari n'affichera pas les images intégrées dans les svg tandis que Chrome n'a pas de problème avec cela
ce Potrace est très précis lorsque vous savez comment l'utiliser: mais ce n'est pas multicolore 1.) convertissez votre fichier en BMP 2.) (pour la partie précise) convertissez bmp en une haute résolution (strech it) 3.) coloriez les formes vous voulez tracer en noir 4.) convertir 5.) changer la largeur et la hauteur en original 6.) apprécier le tracé précis.
Suivez les instructions de cette courte vidéo YouTube
Comme vous le verrez, si vous voulez faire beaucoup d'autres choses intelligentes .svg, vous pouvez le faire en utilisant également Inkscape.
Une observation non technique: personnellement, je préfère cette méthode aux offres de sites Web «gratuits» car, en plus d'exiger souvent une inscription, en téléchargeant l'image, dans tous les termes pratiques, on donne l'image au propriétaire du site.
Pourquoi le downvote? J'utilise cette approche avec beaucoup de succès. Ayez au moins la courtoisie d'expliquer pourquoi les gens peuvent bénéficier de vos idées.
Pancho
5
Suivre ces instructions enveloppe uniquement l'image avec du SVG XML - il ne convertit rien en données de chemin.
Robert
@Robert - merci pour l'info, j'étais parfaitement ignorant car cela fonctionnait bien pour mes besoins. Cela ne nuit cependant pas au fait qu'Inkscape est capable d'effectuer une conversion complète de PNG en SVG - et bien plus encore. Pour illustrer pour toute personne intéressée, j'ai modifié ma réponse pour inclure un court clip vidéo explicatif.
Pancho
En est-il vraiment ainsi? J'ai vérifié le SVG généré et il semble avoir des données de chemin, contrairement à la méthode mobilefish ...
dario_ramos
Il y a des gens qui votent de temps en temps sans raison valable et je commence à penser que c'est malveillant. S'il y a vraiment une raison - pas de problème, arrêtez d'être paresseux et ajoutez de la valeur à cette communauté en la fournissant.
Pancho
15
avec Adobe Illustrator:
Ouvrez Adobe Illustrator. Cliquez sur "Fichier" et sélectionnez "Ouvrir" pour charger le fichier .PNG dans le programme. Modifiez l'image au besoin avant de l'enregistrer en tant que fichier .SVG. Cliquez sur "Fichier" et sélectionnez "Enregistrer sous". Créez un nouveau nom de fichier ou utilisez le nom existant. Assurez-vous que le type de fichier sélectionné est SVG. Choisissez un répertoire et cliquez sur "Enregistrer" pour enregistrer le fichier.
+1 pour online-convert.com. Je l'ai essayé maintenant avec quelques silhouettes monochromes .. effectué sans problème .. Semble également être complètement gratuit.
nedR
Oui, l'un des meilleurs convertisseurs ... Merci
JayD
1
Je n'avais pas réalisé qu'Illustrator avait tout préparé. Le fait d'avoir déjà tout le .ai, cela me fera gagner une tonne de temps.
Doyle Lewis
10
À ma grande surprise, potrace il se trouve que la peut uniquement traiter le noir et blanc. Cela peut convenir à votre cas d'utilisation, mais certains peuvent considérer que l'absence de traçage des couleurs est problématique.
Personnellement, j'ai eu des résultats satisfaisants avec
Vector Magic
Une note pour ceux qui utilisent potrace et imagemagick , la conversion d' images PNG avec transparence en PPM ne semble pas très bien fonctionner. Voici un exemple qui utilise l' -flattenindicateur convertpour gérer cela:
Un autre phénomène intéressant est que vous pouvez utiliser PPM (256 * 3 couleurs, ie. RVB), PGM (256 couleurs, ie. Niveaux de gris) ou PBM (2 couleurs, ie. Blanc ou noir uniquement) comme format d'entrée. D'après mes observations limitées, il semblerait que sur les images qui sont anti-aliasées, PPM et PGM (qui produisent des SVG identiques pour autant que je puisse voir) rétrécissent la zone colorée et PBM élargit la zone colorée (quoique seulement un peu). Vraisemblablement, c'est la différence entre un pixel > (256 / 2)test et un pixel > 0test. Vous pouvez basculer entre les trois en modifiant l'extension du fichier, c'est-à-dire. l'utilisation suivante PBM :
Je travaille vraiment comme un charme même dans des images complexes. Je conseille vraiment cet outil.
Atıfcan Ergin
Ça n'a pas marché pour moi malheureusement.
adamj
Ne fonctionne pas bien si l'image est transparente
Genaut
Vous ne pouvez pas vous attendre à ce que le script prenne une photo de vous-même et obtienne un SVG parfaitement superposé, il n'y a rien de tel. Si vous avez une forme simple et que vous souhaitez obtenir le (s) chemin (s), cela suffit. J'ai fait beaucoup d'icônes de polices avec cette page et je n'ai jamais échoué pour moi.
thednp
@thednp mon image est sortie en noir et blanc
iOSAndroidWindowsMobileAppsDev
7
Je viens de trouver cette question et ses réponses alors que j'essaie de faire la même chose! Je ne voulais pas utiliser certains des autres outils mentionnés. (Je ne veux pas donner mon e-mail et je ne veux pas payer). J'ai trouvé qu'Inkscape (v0.91) peut faire du très bon travail. Ce tutoriel est rapide et facile à comprendre.
C'est aussi simple que de sélectionner votre bitmap dans Inkskape et Shift + Alt + B.
Selon pourquoi vous souhaitez convertir le format .png en .svg, vous n'aurez peut-être pas à passer par le problème. La conversion de .png (raster) en .svg (vecteur) peut être pénible si vous n'êtes pas très familier avec les outils disponibles, ou si vous n'êtes pas un graphiste de métier.
Si quelqu'un vous envoie un gros fichier haute résolution (par exemple 1024x1024), vous pouvez le redimensionner à peu près à la taille souhaitée dans GIMP. Souvent, vous aurez des problèmes pour redimensionner une image si la résolution (nombre de pixels par pouce) est trop faible. Pour corriger cela dans GIMP, vous pouvez:
File -> Open: votre fichier .png
Image -> Image Properties: vérifiez la résolution et l'espace colorimétrique. Vous voulez une résolution d'environ 300 ppp. Dans la plupart des cas, vous souhaitez que l'espace colorimétrique soit RVB.
Image -> Mode: réglé sur RVB
Image -> Scale Image: laissez la taille seule, définissez la résolution Y à 300 ou plus. Hit Scale.
Image -> Scale Image: la résolution devrait maintenant être de 300 et vous pouvez maintenant redimensionner l'image à peu près à la taille souhaitée.
Pas aussi simple que de redimensionner un fichier .svg, mais certainement plus facile et plus rapide que d'essayer de convertir un .png en .svg, si vous avez déjà une grande image haute résolution.
Je suppose que vous souhaitez écrire un logiciel pour ce faire. Pour le faire naïvement, il vous suffit de trouver des lignes et de définir les vecteurs. Pour le faire intelligemment, vous essayez d'ajuster des formes sur le dessin (ajustement du modèle). De plus, vous devriez essayer de vérifier les régions bitmap (régions que vous ne pouvez pas modéliser par des hontes ou appliquer des textures. Je ne recommanderais pas de suivre cette route car cela prendra un peu de temps et nécessitera un peu de connaissances graphiques et de vision par ordinateur. Cependant, la sortie sera beaucoup plus évolutive que votre sortie d'origine.
Cela incorpore l'image en svg, pas de vrais graphiques vectoriels
Paul Gobée
Cela a converti l'un de mes pngs colorés dans lesquels d'autres convertisseurs en ligne n'ont pas pu convertir correctement. Je pensais que cela fonctionnait car je peux l'ouvrir dans le navigateur mais quand j'ai essayé de l'ouvrir sur un autre outil, il a une erreur. Peut-être à cause du commentaire indiqué ci-dessus.
vida
-1
Si vous utilisez un système Linux, imagemagick est parfait. C'est à dire
convert somefile.png somefile.svg
Cela fonctionne avec des tas de formats différents.
Pour d'autres médias tels que les vidéos et l'utilisation audio (ffmpeg),
je sais cependant que vous avez clairement indiqué png à svg; C'est toujours lié aux médias.
ffmpeg -i somefile.mp3 somefile.ogg
Juste une astuce pour si vous souhaitez parcourir de nombreux fichiers; une boucle utilisant des astuces de base du shell ..
for f in*.jpg;do convert $f ${f%jpg}png;done
Cela supprime le jpg et ajoute png qui indique convertir ce que vous voulez.
Imagemagick fonctionne sur d'autres plates-formes, pas seulement sur «Linux».
Lunatik
25
Cela fonctionne techniquement, cependant, le fichier svg généré n'est pas vraiment des graphiques vectoriels - il contient juste le bitmap original "tel quel". Ainsi, lorsque vous l'agrandissez, vous obtenez toujours la qualité dégradée d'une image raster.
Erel Segal-Halevi
7
@archeyDevil non, ce n'est pas "convertir" en SVG, c'est "incorporer" le bitmap dans un SVG vide. Inutile à personne.
Adam
4
@archeyDevil Le titre de la question est "convertir ... en SVG". Votre réponse ne se convertit pas. Il intègre. PNG est un format bitmap, SVG est un format vectoriel. Différence massive. L'incorporation est inutile et ne mérite pas une question SO IMHO
Adam
3
Je suis conscient qu'il ne se convertit pas. Je l'ai fait cependant; postez ceci pour ceux qui n'ont pas besoin d'une persécution vectorielle, mais ont juste besoin d'un changement rapide et sale entre les types de fichiers.
Réponses:
Il existe un site Web où vous pouvez télécharger votre image et voir le résultat.
http://vectormagic.com/home
Mais si vous souhaitez télécharger votre image svg, vous devez vous inscrire. (Si vous vous inscrivez, vous obtenez 2 images gratuitement)
la source
potrace
ne prend pas en charge PNG comme fichier d'entrée, mais PNM .Par conséquent, d'abord
convert
du PNG au PNM:Expliquez les options
potrace -s
=> Le fichier de sortie est S VGpotrace -o file.svg
=> Écrire la sortie dansfile.svg
Exemple
Fichier d'entrée =
2017.png
Fichier temporaire =
2017.pnm
Fichier de sortie =
2017.svg
Scénario
ykarikos propose un script png2svg.sh que j'ai amélioré:
Commande sur une ligne
Si vous souhaitez convertir de nombreux fichiers, vous pouvez également utiliser la commande à une ligne suivante:
Voir également
Voir également cette bonne comparaison des convertisseurs raster en vecteur sur Wikipedia.
la source
potrace
des icônes en noir et blanc. Merci pour vos commentaires. Mais désolé aucune idée de comment conserver les couleurs ... Ho! J'ai une idée: si votre image originale a peu de couleurs (disons trois couleurs uniques), vous pouvez créer trois images initiales (une pour chaque couleur). Convertissez ensuite en SVG. Et enfin, fusionnez les trois contenus SVG dans un seul fichier (SVG est basé sur XML). J'espère que cela pourrait vous aider ...convert
etpotrace
sont disponibles sur de nombreuses plateformes. J'utilise des ordinateurs Linux. Je viens d'utiliser ces commandes hier pour produire un SVG à partir d'un papier numérisé. Vous pouvez voir le résultat: cpp-frug.github.io/images/Cpp-President-2017.svg Veuillez expliquer plus sur votre cible. Que voulez-vous / me demandez-vous? Quel est votre besoin / souhait?Un png est un style d'image bitmap et un SVG est une conception graphique vectorielle qui prend en charge les bitmaps, ce n'est donc pas comme s'il convertissait l'image en vecteurs, juste une image incorporée dans un format vectoriel. Vous pouvez le faire en utilisant http://www.inkscape.org/ qui est gratuit. Il serait intégré, mais il dispose également d'un moteur de type Live Trace qui tentera de le convertir en chemins si vous le souhaitez (en utilisant Potrace). Voir trace en direct dans Adobe Illustrator (Commericial) en est un exemple:
http://graphicssoft.about.com/od/illustrator/ss/sflivetrace.htm
la source
Vous voudrez peut-être regarder Potrace .
la source
Facile
Comme vous le verrez, si vous voulez faire beaucoup d'autres choses intelligentes .svg, vous pouvez le faire en utilisant également Inkscape.
Une observation non technique: personnellement, je préfère cette méthode aux offres de sites Web «gratuits» car, en plus d'exiger souvent une inscription, en téléchargeant l'image, dans tous les termes pratiques, on donne l'image au propriétaire du site.
la source
avec Adobe Illustrator:
Ouvrez Adobe Illustrator. Cliquez sur "Fichier" et sélectionnez "Ouvrir" pour charger le fichier .PNG dans le programme. Modifiez l'image au besoin avant de l'enregistrer en tant que fichier .SVG. Cliquez sur "Fichier" et sélectionnez "Enregistrer sous". Créez un nouveau nom de fichier ou utilisez le nom existant. Assurez-vous que le type de fichier sélectionné est SVG. Choisissez un répertoire et cliquez sur "Enregistrer" pour enregistrer le fichier.
ou
convertisseur en ligne http://image.online-convert.com/convert-to-svg
je préfère l'IA car vous pouvez apporter les modifications nécessaires
bonne chance
la source
À ma grande surprise, potrace il se trouve que la peut uniquement traiter le noir et blanc. Cela peut convenir à votre cas d'utilisation, mais certains peuvent considérer que l'absence de traçage des couleurs est problématique.
Personnellement, j'ai eu des résultats satisfaisants avec Vector Magic
Ce n'est toujours pas parfait.
la source
Une note pour ceux qui utilisent potrace et imagemagick , la conversion d' images PNG avec transparence en PPM ne semble pas très bien fonctionner. Voici un exemple qui utilise l'
-flatten
indicateurconvert
pour gérer cela:Un autre phénomène intéressant est que vous pouvez utiliser PPM (256 * 3 couleurs, ie. RVB), PGM (256 couleurs, ie. Niveaux de gris) ou PBM (2 couleurs, ie. Blanc ou noir uniquement) comme format d'entrée. D'après mes observations limitées, il semblerait que sur les images qui sont anti-aliasées, PPM et PGM (qui produisent des SVG identiques pour autant que je puisse voir) rétrécissent la zone colorée et PBM élargit la zone colorée (quoique seulement un peu). Vraisemblablement, c'est la différence entre un
pixel > (256 / 2)
test et unpixel > 0
test. Vous pouvez basculer entre les trois en modifiant l'extension du fichier, c'est-à-dire. l'utilisation suivante PBM :la source
Vous pouvez également essayer http://image.online-convert.com/convert-to-svg
Je l'utilise toujours pour mes besoins.
la source
Je viens de trouver cette question et ses réponses alors que j'essaie de faire la même chose! Je ne voulais pas utiliser certains des autres outils mentionnés. (Je ne veux pas donner mon e-mail et je ne veux pas payer). J'ai trouvé qu'Inkscape (v0.91) peut faire du très bon travail. Ce tutoriel est rapide et facile à comprendre.
C'est aussi simple que de sélectionner votre bitmap dans Inkskape et Shift + Alt + B.
la source
Selon pourquoi vous souhaitez convertir le format .png en .svg, vous n'aurez peut-être pas à passer par le problème. La conversion de .png (raster) en .svg (vecteur) peut être pénible si vous n'êtes pas très familier avec les outils disponibles, ou si vous n'êtes pas un graphiste de métier.
Si quelqu'un vous envoie un gros fichier haute résolution (par exemple 1024x1024), vous pouvez le redimensionner à peu près à la taille souhaitée dans GIMP. Souvent, vous aurez des problèmes pour redimensionner une image si la résolution (nombre de pixels par pouce) est trop faible. Pour corriger cela dans GIMP, vous pouvez:
File -> Open
: votre fichier .pngImage -> Image Properties
: vérifiez la résolution et l'espace colorimétrique. Vous voulez une résolution d'environ 300 ppp. Dans la plupart des cas, vous souhaitez que l'espace colorimétrique soit RVB.Image -> Mode
: réglé sur RVBImage -> Scale Image
: laissez la taille seule, définissez la résolution Y à 300 ou plus. Hit Scale.Image -> Scale Image
: la résolution devrait maintenant être de 300 et vous pouvez maintenant redimensionner l'image à peu près à la taille souhaitée.Pas aussi simple que de redimensionner un fichier .svg, mais certainement plus facile et plus rapide que d'essayer de convertir un .png en .svg, si vous avez déjà une grande image haute résolution.
la source
Je suppose que vous souhaitez écrire un logiciel pour ce faire. Pour le faire naïvement, il vous suffit de trouver des lignes et de définir les vecteurs. Pour le faire intelligemment, vous essayez d'ajuster des formes sur le dessin (ajustement du modèle). De plus, vous devriez essayer de vérifier les régions bitmap (régions que vous ne pouvez pas modéliser par des hontes ou appliquer des textures. Je ne recommanderais pas de suivre cette route car cela prendra un peu de temps et nécessitera un peu de connaissances graphiques et de vision par ordinateur. Cependant, la sortie sera beaucoup plus évolutive que votre sortie d'origine.
la source
http://online-converting.com/image/convert-to-svg/ a bien fonctionné pour la conversion en svg
la source
potrace
la ligne de commande - je me demande ce que le site utilise en interne ...Cet outil fonctionne très bien en ce moment.
http://www.mobilefish.com/services/image2svg/image2svg.php
la source
Si vous utilisez un système Linux, imagemagick est parfait. C'est à dire
Cela fonctionne avec des tas de formats différents.
Pour d'autres médias tels que les vidéos et l'utilisation audio (ffmpeg), je sais cependant que vous avez clairement indiqué png à svg; C'est toujours lié aux médias.
Juste une astuce pour si vous souhaitez parcourir de nombreux fichiers; une boucle utilisant des astuces de base du shell ..
Cela supprime le jpg et ajoute png qui indique convertir ce que vous voulez.
la source