wake-up-neo.com

Wie konvertiere ich ein PNG-Bild in ein SVG-Bild?

Wie konvertiere ich ein PNG-Bild in ein SVG-Bild?

266
user199337

Es gibt eine Website, auf der Sie Ihr Bild hochladen und das Ergebnis anzeigen können.

http://vectormagic.com/home

Aber wenn Sie Ihr SVG-Bild herunterladen möchten, müssen Sie sich registrieren. (Wenn Sie sich registrieren, erhalten Sie 2 Bilder kostenlos)

130
FrankkieNL

potrace funktioniert nterstützt kein PNG als Eingabedatei, aber PNM .
Deshalb zuerst convert von PNG nach PNM:

_convert file.png file.pnm        # PNG to PNM
potrace file.pnm -s -o file.svg  # PNM to SVG
_

Erläutern Sie die Optionen

  • _potrace -s_ => Ausgabedatei ist S VG
  • _potrace -o file.svg_ => Ausgabe in _file.svg_ schreiben

Beispiel

Eingabedatei = _2017.png_ Input file

_convert 2017.png 2017.pnm
_

Temporäre Datei = 2017.pnm

_potrace 2017.pnm -s -o 2017.svg
_

Ausgabedatei = _2017.svg_ Output file

Skript

ykarikos schlägt ein Skript vor png2svg.sh 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
_

Einzeiliger Befehl

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

Siehe auch dieser gute Vergleich zwischen Raster- und Vektorkonvertern auf Wikipedia.

122
olibre

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, aber es hat auch eine Live-Trace-ähnliche Engine, die versucht, es in Pfade umzuwandeln, wenn Sie dies wünschen (Potrace verwenden). Siehe Live-Trace in Adobe Illustrator (kommerziell) ist ein Beispiel:

http://graphicssoft.about.com/od/illustrator/ss/sflivetrace.htm

59
Keith Adler

Vielleicht möchten Sie sich potrace ansehen.

Einfach

  1. Download Inkscape (völlig kostenlos)
  2. Befolgen Sie die Anweisungen in diesem kurzen Youtube-Video

Wie Sie sehen werden, können Sie eine ganze Menge anderer cleverer .svg-Dateien auch mit Inkscape erstellen.

Eine nicht-technische Bemerkung: Ich persönlich bevorzuge diese Methode gegenüber "kostenlosen" Website-Angeboten, da man, abgesehen davon, dass häufig eine Registrierung erforderlich ist, das Bild praktisch durch Hochladen an den Eigentümer der Website weitergibt.

18
Pancho

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 AI, weil Sie alle Änderungen vornehmen können, die benötigt werden

viel Glück

15
JayD

Zu meiner Überraschung potrace stellt sich heraus, dass nur Schwarzweiß verarbeitet werden kann. Das mag für Ihren Anwendungsfall in Ordnung sein, aber einige halten das Fehlen einer Farbverfolgung möglicherweise für problematisch.

Ich persönlich habe mit Vector Magic zufriedenstellende Ergebnisse erzielt

Trotzdem ist es nicht perfekt.

10
cavalcade

Ein Hinweis für diejenigen, die potrace und imagemagick verwenden und PNG Bilder mit Transparenz in PPM umwandeln, nicht ' Es scheint sehr gut zu funktionieren. In diesem Beispiel wird das Flag -flatten für convert verwendet, 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 - verwenden können. PBM (2 Farben, dh nur Weiß oder Schwarz) als Eingabeformat. Aus meinen begrenzten Beobachtungen geht hervor, dass auf Bildern, die gegen Alias ​​gerichtet sind, PPM und PGM (die identische SVGs erzeugen so weit ich sehen kann, verkleinere den farbigen Bereich und PBM vergrößert den farbigen Bereich (wenn auch nur ein wenig). Vermutlich ist dies der Unterschied zwischen einem Test pixel > (256 / 2) und einem Test pixel > 0. Sie können zwischen den drei Optionen wechseln, indem Sie die Dateierweiterung ändern, z. die folgende Verwendung PBM :

Sudo apt-get install potrace imagemagick
convert -flatten input.png output.pbm
potrace -s output.pbm -o output.svg
rm output.pbm
9
Bardi Harborow

Sie können auch versuchen http://image.online-convert.com/convert-to-svg

Ich benutze es immer für meine Bedürfnisse.

7
thednp

Ich habe gerade diese Frage und Antwort gefunden, als ich das Gleiche versuche! Einige der anderen genannten Tools wollte ich nicht verwenden. (Ich möchte meine E-Mail nicht weitergeben 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.

Edge Detection with Inksape Trace bitmap tool based on potrace

7
Dai Bok

Abhängig von warum möchten Sie von .png zu .svg konvertieren, müssen Sie möglicherweise nicht die Mühe durchlaufen. Das Konvertieren von .png (Raster) in .svg (Vektor) kann problematisch sein, wenn Sie mit den verfügbaren Tools nicht sehr vertraut sind oder wenn Sie kein professioneller Grafikdesigner sind.

Wenn Ihnen jemand eine große Datei mit hoher Auflösung sendet (z. B. 1024 x 1024), können Sie die Größe in GIMP so gut wie beliebig ändern. Häufig treten Probleme beim Ändern der Bildgröße auf, wenn die Auflösung (Anzahl der Pixel pro Zoll) zu niedrig ist. Um dies in GIMP zu korrigieren, können Sie:

  1. File -> Open: Ihre PNG-Datei
  2. Image -> 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.
  3. Image -> Mode: Auf RGB stellen
  4. Image -> Scale Image: Lassen Sie die Größe in Ruhe, und stellen Sie die Y-Auflösung auf 300 oder höher ein. Hit Scale.
  5. 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 auf jeden Fall 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.

4
Brian D

Ich gehe davon aus, dass Sie dafür Software schreiben möchten. Um es naiv zu machen, würden Sie einfach Linien finden und die Vektoren einstellen. Um dies auf intelligente Weise zu tun, versuchen Sie, Formen auf die Zeichnung anzupassen (Modellanpassung). Darüber hinaus sollten Sie versuchen, Bitmap-Regionen zu ermitteln (Regionen, die Sie nicht durch Scham oder 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-Wissen erfordert. Die Ausgabe wird jedoch wesentlich besser skaliert als die ursprüngliche Ausgabe.

2
monksy

http://online-converting.com/image/convert-to-svg/ hat bei der Konvertierung nach svg gut funktioniert

2
eagor

Dieses Tool funktioniert momentan sehr gut.

http://www.mobilefish.com/services/image2svg/image2svg.php

0
alejandro