PerfectVector
Di Irene Kim

ImageMagick da PNG a SVG: verifica il motore di ricalco

Scopri se il tuo comando ImageMagick PNG-to-SVG crea percorsi, quale delegato di tracciamento utilizza e perché un'immagine a colori può diventare una traccia SVG monocromatica.

9 min di lettura
In questa pagina

ImageMagick può produrre percorsi vettoriali SVG da un PNG quando la sua creazione e configurazione forniscono un percorso di tracciamento. Nella nostra configurazione ImageMagick 7.1.2-32 installata, magick color-regions.png traced.svg utilizzava Potrace 1.16 e produceva tracciati neri, anziché un PNG incorporato. Ha perso anche i colori originali e una regione di colore chiaro. Controlla il delegato installato e il file salvato prima di decidere se il comando soddisfa le tue esigenze.

Se desideri un percorso di tracciamento online per lo stesso PNG, inizia gratuitamente con PerfectVector e controlla le aree colorate e le aperture dell'anteprima. La modifica e l'esportazione richiedono un risultato sbloccato. Questa guida diagnostica il percorso ImageMagick locale; non confronta la qualità di output degli strumenti.

Provalo con la tua immagine
Apri lo strumento completo
Puoi provarlo gratis. Rilascia un’immagine e guarda l’anteprima del tuo vettoriale, senza registrarti.

Inizia con il sintomo, quindi ispeziona la pipeline

Un SVG che si apre correttamente può comunque non essere adatto: potrebbe essere monocromatico quando avevi bisogno di colori o contenere un'immagine raster quando avevi bisogno di percorsi. Un comando non riuscito è un sintomo diverso e necessita del messaggio di errore effettivo. L'estensione del nome file da sola non può risolvere nessuna di queste domande.

Un delegato è un programma esterno che ImageMagick chiama per un'attività. La sua documentazione delle risorse descrive la configurazione del delegato. Registra la configurazione effettiva sulla tua macchina; un comando copiato da un'altra installazione può seguire un percorso diverso.

Per questo controllo, hai bisogno di una copia del tuo PNG, di ImageMagick installato, di un terminale, di un editor di testo semplice e di un visualizzatore SVG. Mantieni la fonte invariata e assegna a ciascun output del test un nuovo nome file. Nel nostro esempio era installato anche Potrace; che fa parte dell'ambiente testato, non una dipendenza necessariamente condivisa da ogni installazione di ImageMagick.

Illustrazione
Illustrazione di un'origine PNG che passa attraverso un delegato di traccia configurato prima dell'ispezione dell'SVG salvato
Ispeziona l'origine, il tracciante configurato e l'SVG salvato come fasi separate.

1. Registrare la versione installata e delegare

Esegui questi comandi nel tuo terminale:

magick -version
magick -list delegate
magick -list format

Leggi l'elenco dei delegati per una voce trace e annota il programma a cui fa riferimento. La nostra lista conteneva questa riga:

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

Questa è una voce di configurazione, non un comando da incollare nella shell. Denomina Potrace come programma di tracciamento esterno. L'SVG che abbiamo effettivamente salvato conteneva anche metadati Created by potrace 1.16, che collegavano quella configurazione all'output osservato.

L'elenco dei formati ImageMagick è utile per verificare il supporto del formato, ma leggi attentamente le note sul rendering SVG: le informazioni di input/rendering di Inkscape, RSVG e MSVG non dimostrano quale programma ha tracciato un PNG in un SVG. Leggere SVG e scrivere una traccia sono direzioni diverse.

Perché un'altra macchina potrebbe comportarsi diversamente

Il scrittore SVG nel sorgente ufficiale 7.1.2-32 include percorsi separati per il supporto AutoTrace compilato, un delegato TRACE configurato e un fallback PNG incorporato quando non viene trovato alcun delegato di traccia in quel ramo. Questo è il motivo per cui né “ImageMagick traccia sempre” né “ImageMagick incorpora solo PNG” sono una risposta generale affidabile.

La fonte descrive le filiali disponibili; il nostro comando effettivo stabilisce quale risultato abbiamo ottenuto. Non abbiamo testato ogni ramo o macchina senza il delegato. La versione sopra è la nostra versione di prova installata, non un'affermazione sull'ultima versione di ImageMagick.

2. Salva un SVG e controlla cosa contiene

Utilizza la tua copia PNG consentita. Il nostro comando di test esatto era:

magick color-regions.png traced.svg

Sostituisci color-regions.png con il nome del file di input e utilizza un nuovo nome di output. Se il comando fallisce, conserva l'errore e controlla il programma configurato prima di provare impostazioni di rendering non correlate. Un delegato elencato non dimostra di per sé che il suo eseguibile sia disponibile e funzionante.

Apri l'SVG salvato in un editor di testo. Cerca elementi di forma effettivi come <path>, qualsiasi elemento <image> e il relativo contenuto di riferimento e riempi sia i singoli percorsi che i gruppi principali. Un percorso può ereditare un riempimento nero da un gruppo circostante; non è necessario che il colore appaia su ogni linea del percorso.

Nel nostro file, il gruppo genitore ha fornito fill="#000000", due elementi percorso descrivevano le forme conservate e non c'era alcun elemento immagine. Questa è la geometria del percorso reale, ma non significa che la tavolozza originale o ogni regione sia sopravvissuta. Per un file misto o basato su immagini, utilizza la guida all'ispezione del contenuto raster SVG invece di indovinare solo dallo zoom.

Ciò che è diventato il nostro PNG a colori in questa installazione

Abbiamo creato un PNG RGBA originale da 320 × 240 contenente una cornice rettangolare blu scuro con un centro vuoto, un cerchio dorato e un triangolo verde acqua su uno sfondo trasparente. I pixel trasparenti avevano campioni RGB bianchi. Abbiamo eseguito il comando precedente con ImageMagick 7.1.2-32 e installato Potrace 1.16, quindi abbiamo ispezionato il sorgente SVG effettivo e ne abbiamo eseguito il rendering in modo indipendente.

ControlloPNG originaleSVG effettivamente salvato
Cornice marina#17344dMantenuta la geometria nera
Triangolo verde acqua#347f78Mantenuta la geometria nera
Cerchio d'oro#e5aa39Assente
Apertura del telaio e spazio esternoTrasparenteTrasparente nel risultato renderizzato
Struttura dei filePixel rasterDue percorsi, nessun elemento immagine

Il manuale di Potrace spiega che l'input non binario viene convertito in bianco e nero utilizzando un taglio di luminosità. Un percorso di tracciamento monocromatico non trasporta la tavolozza di origine come regioni colorate separate. In questa particolare esecuzione, il cerchio dorato chiaro è scomparso mentre la cornice e il triangolo più scuri sono diventati neri.

Aumentando la risoluzione di input o modificando il nome del file SVG non è possibile trasformare il risultato monocromatico in una traccia di colore. Se i colori hanno un significato, seleziona un flusso di lavoro di tracciamento del colore e ispeziona le regioni risultanti. Se hai intenzionalmente bisogno di grafica a un colore, utilizza il flusso di lavoro esplicito di preparazione e tracciamento di Potrace PNG per controllare quell'attività separata.

Si trattava di un file di test del colore originale su una build installata, supportato dal precedente controllo quadrato con foro. Si è trattato di un'ispezione del file digitale, non di un test di importazione, stampa o taglio da parte dell'editor. Il conteggio dei percorsi descrive questo output; non è un punteggio di qualità.

Mantieni le unità di dimensione separate dalla struttura del percorso

Il nostro SVG salvato ha dichiarato width="320.000000pt", height="240.000000pt" e viewBox="0 0 320.000000 240.000000". I valori numerici corrispondenti non rendono intercambiabili i punti, i pixel di origine e le coordinate SVG. Controlla separatamente le dimensioni fisiche previste utilizzando il flusso di lavoro per la risoluzione dei problemi relativi alle dimensioni di importazione SVG.

Scegli la correzione che corrisponde all'output

Risultato osservatoAzione successivaVerifica
Percorsi neri, ma hai bisogno di regioni colorateScegli un flusso di lavoro di tracciamento del coloreConfronta regioni e riempimenti importanti con il PNG originale
I percorsi neri sono l'opera d'arte previstaMantenere il percorso monocromatico; ispezionare i dettagli mancantiControlla la silhouette e le aperture richieste su uno sfondo a contrasto
SVG contiene un PNG incorporato invece delle forme necessarieControlla il percorso di tracciamento installato o utilizza un vettorizzatore dedicatoIspeziona gli oggetti del file sostitutivo e le immagini di riferimento
Errore di comando relativo al delegatoLeggere l'errore e verificare la disponibilità e la configurazione del programma indicatoRipeti lo stesso piccolo input consentito dopo aver corretto quel problema specifico
Esistono percorsi ma la dimensione è errata in un'altra appControllare le unità e le dimensioni del documento separatamenteConferma la dimensione prevista nell'app ricevente

L'errore effettivo del comando e la configurazione installata dovrebbero guidare la riparazione. Questa procedura dettagliata non ha riprodotto un ambiente con eseguibile mancante o errori di criteri, quindi non prescrive una correzione universale per tali errori.

Per le opere d'arte a colori che necessitano ancora di un SVG, PerfectVector fornisce un flusso di lavoro online da PNG a vettoriale. Inizia con il PNG originale e confronta la silhouette dell'anteprima, le regioni di colore e gli spazi vuoti. I colori esatti del marchio o le scritte in piccolo possono ancora necessitare di ispezione e correzione; se un contorno critico non è chiaro, un ridisegno deliberato potrebbe essere il passo successivo più utile. La guida alla qualità da PNG a SVG copre tali decisioni relative all'origine e ai dettagli.

Hai terminato la diagnosi quando puoi nominare il tipo di output, identificare il percorso di tracciamento rilevante e spiegare se soddisfa le tue esigenze di colore. Conserva insieme l'origine, l'SVG salvato e le note sulla versione/configurazione. Per provare il tuo PNG online, inizia gratuitamente con PerfectVector e controlla le aree di colore e le aperture dell'anteprima rispetto all'originale.

Domande frequenti

ImageMagick può convertire PNG in percorsi SVG reali?

Sì, quando la build e la configurazione installate forniscono un percorso di traccia. La nostra configurazione ImageMagick 7.1.2-32 utilizzava Potrace 1.16 e salvava i percorsi effettivi senza un elemento immagine. Esamina il tuo output anziché dare per scontato che ogni installazione si comporti allo stesso modo.

Perché il mio ImageMagick SVG è diventato in bianco e nero?

Un delegato di traccia monocromatico configurato può spiegare questo risultato. Nel nostro test, Potrace ha prodotto percorsi neri dalle regioni più scure e ha omesso il cerchio dorato chiaro. Controlla l'elenco dei delegati e i riempimenti salvati prima di scegliere un'alternativa al tracciamento del colore.

Una voce SVG nell'elenco dei formati garantisce la tracciatura dei colori?

No. Il supporto del formato da solo non identifica l'implementazione del tracciamento dell'output né dimostra che mantenga la tavolozza. Leggi la configurazione del delegato installato e controlla l'SVG salvato.

Devo modificare le impostazioni RSVG o MSVG per ripristinare i colori PNG?

Innanzitutto identificare il percorso di tracciamento dell'output. Le impostazioni di rendering SVG e il programma che traccia un PNG rispondono a domande diverse. Il nostro risultato monocromatico è arrivato attraverso un delegato del ricalco Potrace, quindi la decisione successiva è stata se una traccia monocromatica fosse adatta all'opera d'arte.

Fonti

  1. Risorse ImageMagick: file di configurazione e delegati esterni.
  2. Formati immagine ImageMagick: elenchi dei formati installati e note sul rendering SVG.
  3. Scrittore SVG ImageMagick 7.1.2-32: tracciamento aggiunto alla versione e rami di immagini incorporate.
  4. Manuale Potrace: interpretazione dell'input monocromatica e comportamento di tracciamento.

Altro dal blog

PerfectVector

Trasforma l’immagine in
tracciati vettoriali puliti e modificabili

Vettorializza e controlla l’anteprima gratis, senza limiti giornalieri.