Comment convertir une image PNG en SVG?
Comment convertir une image PNG en SVG?
Réponses:
Il existe un site Web où vous pouvez télécharger votre image et voir le résultat.
Mais si vous souhaitez télécharger votre image svg, vous devez vous inscrire. (Si vous vous inscrivez, vous obtenez 2 images gratuitement)
potrace
ne prend pas en charge PNG comme fichier d'entrée, mais PNM .
Par conséquent, d'abord convert
du PNG au PNM:
convert file.png file.pnm # PNG to PNM
potrace file.pnm -s -o file.svg # PNM to SVG
potrace -s
=> Le fichier de sortie est S VGpotrace -o file.svg
=> Écrire la sortie dans file.svg
convert 2017.png 2017.pnm
Fichier temporaire = 2017.pnm
potrace 2017.pnm -s -o 2017.svg
ykarikos propose un script png2svg.sh que j'ai amélioré:
#!/bin/bash
File_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" )
exit 1
fi
File="${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
Si vous souhaitez convertir de nombreux fichiers, vous pouvez également utiliser la commande à une ligne suivante:
( set -x ; for f_png in *.png ; do f="${f_png%.png}" ; convert "$f_png" "$f.pnm" && potrace "$f.pnm" -s -o "$f.svg" ; done )
Voir également cette bonne comparaison des convertisseurs raster en vecteur sur Wikipedia.
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
et potrace
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
Vous voudrez peut-être regarder Potrace .
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.
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
À 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.
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
indicateur convert
pour gérer cela:
sudo apt-get install potrace imagemagick
convert -flatten input.png output.ppm
potrace -s output.ppm -o output.svg
rm output.ppm
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 > 0
test. Vous pouvez basculer entre les trois en modifiant l'extension du fichier, c'est-à-dire. l'utilisation suivante PBM :
sudo apt-get install potrace imagemagick
convert -flatten input.png output.pbm
potrace -s output.pbm -o output.svg
rm output.pbm
Vous pouvez également essayer http://image.online-convert.com/convert-to-svg
Je l'utilise toujours pour mes besoins.
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 .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.
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.
http://online-converting.com/image/convert-to-svg/ a bien fonctionné pour la conversion en svg
potrace
la ligne de commande - je me demande ce que le site utilise en interne ...
Cet outil fonctionne très bien en ce moment.
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.