Wie konvertiere ich ein PNG-Bild in ein SVG?
Wie konvertiere ich ein PNG-Bild in ein SVG?
Antworten:
Es gibt eine Website, auf der Sie Ihr Bild hochladen und das Ergebnis sehen können.
Aber wenn Sie Ihr SVG-Bild herunterladen möchten, müssen Sie sich registrieren. (Wenn Sie sich registrieren, erhalten Sie 2 Bilder kostenlos)
potrace
unterstützt nicht PNG als Eingabedatei, sondern PNM .
Daher zuerst convert
von PNG zu PNM:
convert file.png file.pnm # PNG to PNM
potrace file.pnm -s -o file.svg # PNM to SVG
potrace -s
=> Ausgabedatei ist S. VGpotrace -o file.svg
=> Ausgabe schreiben in file.svg
convert 2017.png 2017.pnm
Temporäre Datei = 2017.pnm
potrace 2017.pnm -s -o 2017.svg
ykarikos schlägt ein Skript png2svg.sh vor , das ich verbessert habe:
#!/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
Wenn Sie viele Dateien konvertieren möchten, können Sie auch den folgenden einzeiligen Befehl verwenden:
( 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 )
Siehe auch diesen guten Vergleich von Raster- zu Vektorkonvertern auf Wikipedia.
potrace
für Schwarz-Weiß-Symbole verwendet. Vielen Dank für Ihr Feedback. Aber leider keine Ahnung, wie man Farben bewahrt ... Ho! Ich habe eine Idee: Wenn Ihr Originalbild nur wenige Farben hat (sagen wir drei einzigartige Farben), können Sie drei Ausgangsbilder erstellen (eines für jede Farbe). Dann konvertieren Sie zu SVG. Und schließlich führen Sie die drei SVG-Inhalte in einer Datei zusammen (SVG ist XML-basiert). Hoffe das könnte helfen ... Prost ;-)
convert
und potrace
sind auf vielen Plattformen verfügbar. Ich benutze Linux-basierte Computer. Ich habe diese Befehle gestern gerade verwendet, um eine SVG aus einem gescannten Papier zu erstellen. Sie können das Ergebnis sehen: cpp-frug.github.io/images/Cpp-President-2017.svg Bitte erläutern Sie mehr über Ihr Ziel. Was willst / wunderst du dich? Was ist dein Bedürfnis / Wunsch? Prost ;-)
Ein PNG ist ein Bitmap-Bildstil und ein SVG ist ein vektorbasiertes Grafikdesign, das Bitmaps unterstützt. Es ist also nicht so, als würde es das Bild in Vektoren konvertieren, sondern nur ein Bild, das in ein vektorbasiertes Format eingebettet ist. Sie können dies mit http://www.inkscape.org/ tun, das kostenlos ist. Es würde es einbetten, es hat jedoch auch eine Live Trace-ähnliche Engine, die versucht, es in Pfade umzuwandeln, wenn Sie dies wünschen (mithilfe von Potrace). Siehe Live-Trace in Adobe Illustrator (kommerziell) ist ein Beispiel:
http://graphicssoft.about.com/od/illustrator/ss/sflivetrace.htm
Vielleicht möchten Sie sich Potrace ansehen .
Einfach
Wie Sie sehen werden, können Sie eine ganze Reihe anderer cleverer .svg-Sachen auch mit Inkscape machen.
Eine nicht-technische Beobachtung: Ich persönlich bevorzuge diese Methode gegenüber "kostenlosen" Website-Angeboten, da man das Bild, abgesehen davon, dass häufig eine Registrierung erforderlich ist, durch Hochladen des Bildes praktisch dem Eigentümer der Website übergibt.
mit Adobe Illustrator:
Öffnen Sie Adobe Illustrator. Klicken Sie auf "Datei" und wählen Sie "Öffnen", um die PNG-Datei in das Programm zu laden. Bearbeiten Sie das Bild nach Bedarf, bevor Sie es als SVG-Datei speichern. Klicken Sie auf "Datei" und wählen Sie "Speichern unter". Erstellen Sie einen neuen Dateinamen oder verwenden Sie den vorhandenen Namen. Stellen Sie sicher, dass der ausgewählte Dateityp SVG ist. Wählen Sie ein Verzeichnis und klicken Sie auf "Speichern", um die Datei zu speichern.
oder
Online-Konverter http://image.online-convert.com/convert-to-svg
Ich bevorzuge KI, weil Sie alle erforderlichen Änderungen vornehmen können
Viel Glück
Zu meiner Überraschung Potrace nur Schwarzweiß verarbeiten. Das mag für Ihren Anwendungsfall in Ordnung sein, aber einige mögen das Fehlen einer Farbverfolgung als problematisch betrachten.
Persönlich habe ich mit Vector Magic zufriedenstellende Ergebnisse erzielt
Trotzdem ist es nicht perfekt.
Ein Hinweis für diejenigen, die Potrace und Imagemagick verwenden und PNG- Bilder mit Transparenz in PPM konvertieren , scheint nicht sehr gut zu funktionieren. Hier ist ein Beispiel, das das -flatten
Flag verwendet convert
, um dies zu handhaben:
sudo apt-get install potrace imagemagick
convert -flatten input.png output.ppm
potrace -s output.ppm -o output.svg
rm output.ppm
Ein weiteres interessantes Phänomen ist, dass Sie PPM (256 * 3 Farben, dh RGB), PGM (256 Farben, dh Graustufen) oder PBM (2 Farben, dh nur Weiß oder Schwarz) als Eingabeformat verwenden können. Aus meinen begrenzten Beobachtungen geht hervor, dass PPM und PGM (die, soweit ich sehen kann , identische SVGs erzeugen) bei Bildern mit Anti-Aliasing den farbigen Bereich verkleinern und PBM den farbigen Bereich vergrößert (wenn auch nur geringfügig). Vermutlich ist dies der Unterschied zwischen einem pixel > (256 / 2)
Test und einem pixel > 0
Test. Sie können zwischen den drei wechseln, indem Sie die Dateierweiterung ändern, d. H. die folgenden verwenden PBM :
sudo apt-get install potrace imagemagick
convert -flatten input.png output.pbm
potrace -s output.pbm -o output.svg
rm output.pbm
Sie können auch http://image.online-convert.com/convert-to-svg ausprobieren
Ich benutze es immer für meine Bedürfnisse.
Ich habe gerade diese Frage und Antworten gefunden, als ich versuche, dasselbe zu tun! Ich wollte einige der anderen genannten Tools nicht verwenden. (Ich möchte meine E-Mail nicht verraten und nicht bezahlen). Ich fand, dass Inkscape (v0.91) einen ziemlich guten Job machen kann. Dieses Tutorial ist schnell und einfach zu verstehen.
Es ist so einfach wie das Auswählen Ihrer Bitmap in Inkskape und Umschalt + Alt + B.
Je nachdem warum Sie von .png nach .svg konvertieren möchten, müssen Sie möglicherweise keine Probleme lösen. Das Konvertieren von .png (Raster) in .svg (Vektor) kann schwierig sein, wenn Sie mit den verfügbaren Tools nicht sehr vertraut sind oder wenn Sie von Beruf kein Grafikdesigner sind.
Wenn Ihnen jemand eine große, hochauflösende Datei (z. B. 1024 x 1024) sendet, können Sie die Größe in GIMP auf nahezu jede gewünschte Größe ändern. Oft haben Sie Probleme, die Größe eines Bildes zu ändern, wenn die Auflösung (Anzahl der Pixel pro Zoll) zu niedrig ist. Um dies in GIMP zu korrigieren, können Sie:
File -> Open
: Ihre .png-DateiImage -> Image Properties
: Überprüfen Sie die Auflösung und den Farbraum. Sie möchten eine Auflösung von ca. 300 ppi. In den meisten Fällen soll der Farbraum RGB sein.Image -> Mode
: auf RGB einstellenImage -> Scale Image
: Lassen Sie die Größe in Ruhe, stellen Sie die Y-Auflösung auf 300 oder höher ein. Hit Scale.Image -> Scale Image
: Die Auflösung sollte jetzt 300 sein und Sie können das Bild jetzt auf so ziemlich jede gewünschte Größe verkleinern.Nicht so einfach wie das Ändern der Größe einer .svg-Datei, aber definitiv einfacher und schneller als der Versuch, eine .png-Datei in eine .svg-Datei zu konvertieren, wenn Sie bereits ein großes Bild mit hoher Auflösung haben.
Ich gehe davon aus, dass Sie dazu Software schreiben möchten. Um es naiv zu machen, würden Sie einfach Linien finden und die Vektoren setzen. Um dies intelligent zu machen, versuchen Sie, Formen an die Zeichnung anzupassen (Modellanpassung). Darüber hinaus sollten Sie versuchen, Bitmap-Regionen zu ermitteln (Regionen, die Sie nicht durch Scham oder das Anwenden von Texturen modellieren können. Ich würde diese Route nicht empfehlen, da dies einige Zeit in Anspruch nimmt und ein wenig Grafik- und Computer-Vision-Kenntnisse erfordert. Die Ausgabe wird jedoch viel und skaliert viel besser als Ihre ursprüngliche Ausgabe.
http://online-converting.com/image/convert-to-svg/ funktionierte gut für die Konvertierung in svg
potrace
der Befehlszeile. Ich frage mich, was die Website intern verwendet.
Dieses Tool funktioniert momentan sehr gut.
Wenn Sie auf einem Linux-System arbeiten, ist imagemagick perfekt. Dh
convert somefile.png somefile.svg
Dies funktioniert mit Haufen verschiedener Formate.
Für andere Medien wie Videos und Audio (ffmpeg) weiß ich, dass Sie png zu svg klar angegeben haben; Es ist immer noch medienbezogen.
ffmpeg -i somefile.mp3 somefile.ogg
Nur ein Tipp, wenn Sie viele Dateien durchgehen möchten. eine Schleife mit grundlegenden Shell-Tricks ..
for f in *.jpg; do convert $f ${f%jpg}png; done
Das entfernt das JPG und fügt PNG hinzu, das konvertiert, was Sie wollen.