PerfectVector
Von Irene Kim

ImageMagick: PNG zu SVG und den Tracing-Delegaten prüfen

Finden Sie heraus, ob Ihr ImageMagick PNG-to-SVG-Befehl Pfade erstellt, welchen Ablaufverfolgungsdelegaten er verwendet und warum ein Farbbild zu einer monochromen SVG-Ablaufverfolgung werden kann.

8 Min. Lesezeit
Auf dieser Seite

ImageMagick kann SVG-Vektorpfade aus einem PNG erzeugen, wenn sein Aufbau und seine Konfiguration eine Verfolgungsroute bereitstellen. In unserem installierten ImageMagick 7.1.2-32-Setup verwendete magick color-regions.png traced.svg Potrace 1.16 und erzeugte schwarze Pfade anstelle eines eingebetteten PNG. Es verlor auch die ursprünglichen Farben und einen hellen Bereich. Überprüfen Sie Ihren installierten Delegaten und Ihre gespeicherte Datei, bevor Sie entscheiden, ob dieser Befehl Ihren Anforderungen entspricht.

Wenn Sie eine Online-Nachverfolgungsroute für dasselbe PNG wünschen, starten Sie kostenlos mit PerfectVector und überprüfen Sie die Farbbereiche und Öffnungen der Vorschau. Für die Bearbeitung und den Export ist ein entsperrtes Ergebnis erforderlich. In diesem Handbuch wird die lokale ImageMagick-Route diagnostiziert. Die Ausgabequalität der Tools wird nicht verglichen.

Probier es mit deinem eigenen Bild
Vollständiges Tool öffnen
Kostenlos und ohne Anmeldung: Lege ein Bild ab und sieh dir die Vorschau deines Vektors an.

Beginnen Sie mit dem Symptom und überprüfen Sie dann die Rohrleitung

Eine erfolgreich geöffnete SVG-Datei kann immer noch ungeeignet sein: Sie ist möglicherweise monochrom, wenn Sie Farben benötigen, oder enthält ein Rasterbild, wenn Sie Pfade benötigen. Ein fehlgeschlagener Befehl ist ein anderes Symptom und benötigt eine tatsächliche Fehlermeldung. Die Dateinamenerweiterung allein kann keine dieser Fragen klären.

Ein Delegierter ist ein externes Programm, das ImageMagick für eine Aufgabe aufruft. Die Ressourcendokumentation beschreibt die Delegatenkonfiguration. Notieren Sie die tatsächliche Konfiguration auf Ihrem Computer. Ein von einer anderen Installation kopierter Befehl kann einem anderen Weg folgen.

Für diese Prüfung benötigen Sie eine Kopie Ihres PNG, installiertes ImageMagick, ein Terminal, einen Nur-Text-Editor und einen SVG-Viewer. Lassen Sie die Quelle unverändert und geben Sie jeder Testausgabe einen neuen Dateinamen. In unserem Beispiel war auch Potrace installiert; Dies ist Teil der getesteten Umgebung und keine Abhängigkeit, die jede ImageMagick-Installation unbedingt teilt.

Illustration
Abbildung einer PNG-Quelle, die vor der Überprüfung der gespeicherten SVG-Datei einen konfigurierten Ablaufverfolgungsdelegaten durchläuft
Überprüfen Sie die Quelle, den konfigurierten Tracer und die gespeicherte SVG-Datei als separate Stufen.

1. Notieren Sie die installierte Version und delegieren Sie sie

Führen Sie diese Befehle in Ihrem Terminal aus:

magick -version
magick -list delegate
magick -list format

Lesen Sie die Delegate-Liste für einen trace-Eintrag und notieren Sie sich das darin genannte Programm. Unsere Liste enthielt diese Zeile:

pnm<= trace      "'potrace' --svg --output '%o' '%i'"

Dabei handelt es sich um einen Konfigurationseintrag und nicht um einen Befehl zum Einfügen in Ihre Shell. Es nennt Potrace als externes Tracing-Programm. Das von uns tatsächlich gespeicherte SVG enthielt auch Created by potrace 1.16-Metadaten, die diese Konfiguration mit der beobachteten Ausgabe verknüpften.

Die ImageMagick-Formatliste ist nützlich, um die Formatunterstützung zu überprüfen, aber lesen Sie die SVG-Rendering-Hinweise sorgfältig durch: Inkscape-, RSVG- und MSVG-Eingabe-/Rendering-Informationen beweisen nicht, welches Programm ein PNG in ein SVG umgewandelt hat. Das Lesen von SVG und das Schreiben einer Ablaufverfolgung sind unterschiedliche Richtungen.

Warum sich eine andere Maschine möglicherweise anders verhält

Der SVG-Writer in der offiziellen 7.1.2-32-Quelle enthält separate Routen für die kompilierte AutoTrace-Unterstützung, einen konfigurierten TRACE-Delegaten und einen eingebetteten PNG-Fallback, wenn in diesem Zweig kein Tracing-Delegat gefunden wird. Aus diesem Grund sind weder „ImageMagick verfolgt immer“ noch „ImageMagick bettet nur PNGs ein“ eine verlässliche Pauschalantwort.

Die Quelle beschreibt verfügbare Zweige; Unser tatsächlicher Befehl legt fest, welches Ergebnis wir erhalten haben. Wir haben nicht jeden Zweig oder jede Maschine ohne den Delegaten getestet. Die obige Version ist unsere installierte Testversion und stellt keinen Anspruch auf die neueste ImageMagick-Version dar.

2. Speichern Sie eine SVG-Datei und überprüfen Sie, was sie enthält

Verwenden Sie Ihre eigene erlaubte PNG-Kopie. Unser genauer Testbefehl war:

magick color-regions.png traced.svg

Ersetzen Sie color-regions.png durch den Namen Ihrer Eingabedatei und verwenden Sie einen neuen Ausgabenamen. Wenn der Befehl fehlschlägt, behalten Sie den Fehler bei und überprüfen Sie das konfigurierte Programm, bevor Sie nicht verwandte Rendering-Einstellungen ausprobieren. Ein aufgeführter Delegat allein beweist nicht, dass seine ausführbare Datei verfügbar ist und funktioniert.

Öffnen Sie die gespeicherte SVG-Datei in einem Texteditor. Suchen Sie nach tatsächlichen Formelementen wie <path>, jedem beliebigen <image>-Element und seinem referenzierten Inhalt sowie nach Füllungen sowohl für einzelne Pfade als auch für übergeordnete Gruppen. Ein Pfad kann eine schwarze Füllung von einer umgebenden Gruppe erben; Die Farbe muss nicht auf jeder Pfadlinie erscheinen.

In unserer Datei lieferte die übergeordnete Gruppe fill="#000000", zwei Pfadelemente beschrieben die beibehaltenen Formen und es gab kein Bildelement. Das ist echte Pfadgeometrie, aber das bedeutet nicht, dass die ursprüngliche Palette oder jeder Bereich erhalten geblieben ist. Verwenden Sie für eine gemischte oder bildbasierte Datei den SVG-Raster-Inhaltsprüfleitfaden, anstatt allein anhand des Zooms zu raten.

Was unser Farb-PNG in dieser Installation wurde

Wir haben ein originales 320 × 240 RGBA PNG erstellt, das einen marineblauen rechteckigen Rahmen mit leerer Mitte, einen goldenen Kreis und ein blaugrünes Dreieck auf einem transparenten Hintergrund enthält. Die transparenten Pixel hatten weiße RGB-Muster. Wir haben den obigen Befehl mit ImageMagick 7.1.2-32 ausgeführt und Potrace 1.16 installiert, dann die tatsächliche SVG-Quelle überprüft und sie unabhängig gerendert.

ÜberprüfenOriginal PNGTatsächlich gespeichertes SVG
Marinefarbener Rahmen#17344dSchwarze Geometrie beibehalten
Blaugrünes Dreieck#347f78Schwarze Geometrie beibehalten
Goldkreis#e5aa39Abwesend
Rahmenöffnung und AußenraumTransparentTransparent im gerenderten Ergebnis
DateistrukturRasterpixelZwei Pfade, kein Bildelement

Im Potrace-Handbuch wird erklärt, dass nicht-binäre Eingaben mithilfe einer Helligkeitsabschaltung in Schwarzweiß umgewandelt werden. Eine monochrome Tracing-Route führt die Quellpalette nicht als separate Farbbereiche durch. In diesem speziellen Lauf verschwand der hellgoldene Kreis, während der dunklere Rahmen und das Dreieck schwarz wurden.

Durch Erhöhen der Eingabeauflösung oder Ändern des SVG-Dateinamens kann das monochrome Ergebnis nicht in eine Farbspur umgewandelt werden. Wenn die Farben eine Bedeutung haben, wählen Sie einen Farbverfolgungs-Workflow und überprüfen Sie die resultierenden Bereiche. Wenn Sie absichtlich einfarbige Grafiken benötigen, verwenden Sie den expliziten Potrace PNG-Vorbereitungs- und Nachverfolgungs-Workflow, um diese separate Aufgabe zu steuern.

Dabei handelte es sich um eine Original-Farbtestdatei für einen installierten Build, unterstützt von der früheren „Quadrat-mit-Loch“-Steuerung. Es handelte sich um eine digitale Dateiinspektion, nicht um einen Editor-Import-, Druck- oder Schnitttest. Die Pfadanzahl beschreibt diese Ausgabe; es handelt sich nicht um einen Qualitätsfaktor.

Halten Sie Größeneinheiten von der Pfadstruktur getrennt

Unser gespeichertes SVG deklarierte width="320.000000pt", height="240.000000pt" und viewBox="0 0 320.000000 240.000000". Durch übereinstimmende numerische Werte sind Punkte, Quellpixel und SVG-Koordinaten nicht austauschbar. Überprüfen Sie die beabsichtigte physische Größe separat mithilfe des Workflows zur Fehlerbehebung bei der SVG-Importgröße.

Wählen Sie den Fix aus, der der Ausgabe entspricht

Beobachtetes ErgebnisNächste AktionÜberprüfung
Schwarze Pfade, aber Sie benötigen FarbbereicheWählen Sie einen Arbeitsablauf zur FarbverfolgungVergleichen Sie wichtige Regionen und Füllungen mit dem Original-PNG
Schwarze Wege sind das beabsichtigte KunstwerkBehalten Sie den monochromen Weg bei; Überprüfen Sie fehlende DetailsÜberprüfen Sie die Silhouette und die erforderlichen Öffnungen vor einem kontrastierenden Hintergrund
SVG enthält ein eingebettetes PNG anstelle der benötigten FormenÜberprüfen Sie die installierte Verfolgungsroute oder verwenden Sie einen speziellen VektorisiererÜberprüfen Sie die Objekte und referenzierten Bilder der Ersatzdatei
Befehlsfehler im Zusammenhang mit dem StellvertreterLesen Sie den Fehler und überprüfen Sie die Verfügbarkeit und Konfiguration des genannten ProgrammsWiederholen Sie dieselbe kleine zulässige Eingabe, nachdem Sie das spezifische Problem behoben haben
Pfade sind vorhanden, aber die Größe stimmt in einer anderen App nichtÜberprüfen Sie Einheiten und Dokumentabmessungen separatBestätigen Sie die gewünschte Größe in der empfangenden App

Der tatsächliche Fehler des Befehls und Ihre installierte Konfiguration sollten die Reparatur leiten. In dieser exemplarischen Vorgehensweise wurde keine Umgebung mit fehlenden ausführbaren Dateien oder Richtlinienfehlern reproduziert, sodass keine universelle Lösung für diese Fehler vorgeschrieben ist.

Für Farbgrafiken, die noch eine SVG-Datei benötigen, bietet PerfectVector einen Online-PNG-zu-Vektor-Workflow. Beginnen Sie mit dem Original-PNG und vergleichen Sie die Silhouette, Farbbereiche und Leerräume der Vorschau. Exakte Markenfarben oder kleine Schriftzüge können noch einer Prüfung und Korrektur bedürfen; Wenn eine kritische Kontur unklar ist, kann ein bewusstes Neuzeichnen der sinnvollere nächste Schritt sein. Der PNG-zu-SVG-Qualitätsleitfaden behandelt diese Quellen- und Detailentscheidungen.

Sie haben die Diagnose abgeschlossen, wenn Sie den Ausgabetyp benennen, die relevante Verfolgungsroute identifizieren und erklären können, ob sie Ihren Farbanforderungen entspricht. Halten Sie die Quelle, die gespeicherte SVG-Datei und die Versions-/Konfigurationshinweise zusammen. Um Ihr PNG online auszuprobieren, starten Sie kostenlos mit PerfectVector und vergleichen Sie die Farbbereiche und Öffnungen der Vorschau mit dem Original.

FAQ

Kann ImageMagick PNG in echte SVG-Pfade konvertieren?

Ja, wenn der installierte Build und die Konfiguration eine Tracing-Route bereitstellen. Unser ImageMagick 7.1.2-32-Setup verwendete Potrace 1.16 und speicherte tatsächliche Pfade ohne Bildelement. Überprüfen Sie Ihre eigene Ausgabe, anstatt davon auszugehen, dass sich jede Installation gleich verhält.

Warum wurde mein ImageMagick-SVG schwarzweiß?

Ein konfigurierter Monochrom-Ablaufverfolgungsdelegierter kann dieses Ergebnis erklären. In unserem Test erzeugte Potrace schwarze Pfade aus den dunkleren Bereichen und ließ den hellgoldenen Kreis weg. Überprüfen Sie die Delegate-Liste und die gespeicherten Füllungen, bevor Sie eine Alternative zur Farbverfolgung auswählen.

Garantiert ein SVG-Eintrag in der Formatliste die Farbverfolgung?

Nein. Die Formatunterstützung allein identifiziert die Ausgabeverfolgungsimplementierung nicht und beweist auch nicht, dass sie Ihre Palette beibehält. Lesen Sie die installierte Delegatenkonfiguration und überprüfen Sie die gespeicherte SVG-Datei.

Sollte ich die RSVG- oder MSVG-Einstellungen ändern, um die PNG-Farben wiederherzustellen?

Identifizieren Sie zunächst die Ausgabeverfolgungsroute. SVG-Rendering-Einstellungen und das Programm, das ein PNG nachzeichnet, beantworten unterschiedliche Fragen. Unser monochromes Ergebnis kam von einem Potrace-Tracing-Delegierten, daher war die nächste Entscheidung, ob eine monochrome Trace-Datei zum Kunstwerk passte.

Quellen

  1. ImageMagick-Ressourcen – Konfigurationsdateien und externe Delegaten.
  2. ImageMagick-Bildformate – Auflistung der installierten Formate und SVG-Rendering-Hinweise.
  3. ImageMagick 7.1.2-32 SVG Writer – versionierte Ablaufverfolgung und eingebettete Bildzweige.
  4. Potrace-Handbuch – monochrome Eingabeinterpretation und Tracing-Verhalten.

Mehr aus dem Blog

PerfectVector

Verwandle dein Bild in
saubere, bearbeitbare Vektorpfade

Vektorisieren und Vorschau prüfen: kostenlos und ohne Tageslimit.