Come convertire un’immagine PNG in SVG?

Come convertire un’immagine PNG in SVG?

C’è un sito web dove puoi caricare la tua immagine e vedere il risultato.

http://vectormagic.com/home

Ma se vuoi scaricare la tua immagine SVG, devi registrarti. (Se ti registri, ottieni 2 immagini gratis)

potrace non supporta PNG come file di input, ma PNM .
Pertanto, prima convert da PNG a PNM:

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

Spiega le opzioni

  • potrace -s => Il file di output è S VG
  • potrace -o file.svg => Scrivi l’output in file.svg

Esempio

File di input = 2017.png File di input

 convert 2017.png 2017.pnm 

File temporaneo = 2017.pnm

 potrace 2017.pnm -s -o 2017.svg 

File di output = 2017.svg File di uscita

copione

ykarikos propone uno script png2svg.sh che ho migliorato:

 #!/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 

Comando a una riga

Se si desidera convertire molti file, è anche ansible utilizzare il seguente comando su una riga:

 ( 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 ) 

Guarda anche

Vedi anche questo buon confronto tra convertitori raster e vettoriali su Wikipedia.

Un png è uno stile di immagine bitmap e un SVG è un disegno grafico basato su vettori che supporta bitmap quindi non è come se convertisse l’immagine in vettori, solo un’immagine incorporata in un formato vettoriale. Puoi farlo usando http://www.inkscape.org/ che è gratuito. Lo incorporerebbe, tuttavia ha anche un motore Live Trace che proverà a convertirlo in percorsi, se lo desideri (usando potrace). Vedi la traccia dal vivo in Adobe Illustrator (commerciale) è un esempio:

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

Potresti voler guardare Potrace .

Facile

  1. Scarica Inkscape (è completamente gratuito)
  2. Segui le istruzioni in questo breve video di youtube

Come vedrai, se vuoi fare un sacco di altre cose .svg intelligenti, puoi farlo anche con Inkscape.

Un’osservazione non tecnica: personalmente preferisco questo metodo per le offerte di siti web “gratuiti” perché, oltre a richiedere spesso la registrazione, caricando l’immagine, in termini pratici, si sta dando l’immagine al proprietario del sito web.

con Adobe Illustrator:

Apri Adobe Illustrator. Fai clic su “File” e seleziona “Apri” per caricare il file .PNG nel programma. Modifica l’immagine come necessario prima di salvarla come file .SVG. Fai clic su “File” e seleziona “Salva con nome”. Crea un nuovo nome file o usa il nome esistente. Assicurati che il tipo di file selezionato sia SVG. Scegli una directory e fai clic su “Salva” per salvare il file.

o

convertitore online http://image.online-convert.com/convert-to-svg

preferisco l’intelligenza artificiale perché puoi apportare le modifiche necessarie

in bocca al lupo

Con mia grande sorpresa, potrace si scopre, può elaborare solo in bianco e nero. Potrebbe andare bene per il tuo caso d’uso, ma alcuni potrebbero considerare la mancanza di tracciatura del colore come problematica.

Personalmente, ho avuto risultati soddisfacenti con Vector Magic

Ancora non è perfetto.

Una nota a coloro che usano potrace e imagemagick , convertire le immagini PNG con trasparenza in PPM non sembra funzionare molto bene. Ecco un esempio che usa il flag -flatten su convert per gestirlo:

 sudo apt-get install potrace imagemagick convert -flatten input.png output.ppm potrace -s output.ppm -o output.svg rm output.ppm 

Un altro fenomeno interessante è che è ansible utilizzare PPM (256 * 3 colors, ad esempio RGB), PGM (256 colors, ad esempio scala di grigi) o PBM (2 colors, ad esempio bianco o nero solo) come formato di input. Dalle mie osservazioni limitate, sembrerebbe che su immagini che sono anti-alias, PPM e PGM (che producono SVG identici per quanto posso vedere) riducono l’area colorata e PBM espande l’area colorata (anche se solo un po ‘). Presumibilmente questa è la differenza tra un test pixel > (256 / 2) e un pixel > 0 test. È ansible passare da uno all’altro modificando l’estensione del file, ad es. il seguente uso PBM :

 sudo apt-get install potrace imagemagick convert -flatten input.png output.pbm potrace -s output.pbm -o output.svg rm output.pbm 

Puoi anche provare http://image.online-convert.com/convert-to-svg

Lo uso sempre per i miei bisogni.

Ho appena trovato questa domanda e le risposte mentre sto cercando di fare la stessa cosa! Non volevo usare alcuni degli altri strumenti menzionati. (Non voglio dare via la mia email, e non voglio pagare). Ho scoperto che Inkscape (v0.91) può fare un buon lavoro. Questo tutorial è veloce e facile da capire.

È semplice come selezionare la tua bitmap in Inkskape e Shift + Alt + B.

Edge Detection con Inksape Trace bitmap basato su potrace

A seconda del motivo per cui si desidera convertire da .png a .svg, potrebbe non essere necessario risolvere il problema. La conversione da .png (raster) a .svg (vector) può essere un problema se non si ha molta familiarità con gli strumenti disponibili o se non si è un progettista grafico per mestiere.

Se qualcuno ti invia un file di grandi dimensioni ad alta risoluzione (ad es. 1024×1024), puoi ridimensionarlo a piacimento in qualsiasi dimensione tu desideri in GIMP. Spesso, si avranno problemi nel ridimensionare un’immagine se la risoluzione (numero di pixel per pollice) è troppo bassa. Per rettificare questo in GIMP, puoi:

  1. File -> Open : il tuo file .png
  2. Image -> Image Properties : controlla la risoluzione e lo spazio colore. Vuoi una risoluzione di circa 300 ppi. Nella maggior parte dei casi si desidera che lo spazio colore sia RGB.
  3. Image -> Mode : impostare su RGB
  4. Image -> Scale Image : lasciare la dimensione da sola, impostare e la risoluzione Y su 300 o maggiore. Hit Scale.
  5. Image -> Scale Image : la risoluzione ora dovrebbe essere 300 e ora è ansible ridimensionare l’immagine fino a quasi tutte le dimensioni desiderate.

Non è facile come ridimensionare un file .svg, ma sicuramente più semplice e veloce che provare a convertire un file .png in .svg, se hai già una grande immagine ad alta risoluzione.

Suppongo che tu voglia scrivere software per farlo. Per farlo in modo ingenuo, devi solo trovare linee e impostare i vettori. Per farlo in modo intelligente, si tenta di adattare le forms al disegno (adattamento del modello). Inoltre, dovresti tentare di determinare le regioni bitmap (regioni che non puoi modellare attraverso vergini o applicare trame. Non consiglierei di seguire questa strada in quanto richiederà un bel po ‘di tempo e richiederà un po’ di conoscenza della grafica e della visione del computer. Tuttavia, l’output sarà molto più grande e scalabile rispetto all’output originale.

http://online-converting.com/image/convert-to-svg/ ha funzionato bene per la conversione in svg

Questo strumento sta funzionando molto bene al momento.

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

Se sei su un sistema Linux, imagemagick è perfetto. ie

 convert somefile.png somefile.svg 

Funziona con un mucchio di formati diversi.

Per altri media come video e audio (ffmpeg) so che hai chiaramente indicato png in svg, comunque; Sono ancora legati ai media.

 ffmpeg -i somefile.mp3 somefile.ogg 

Solo un consiglio per se si desidera passare attraverso un sacco di file; un loop che usa trucchi base di shell ..

 for f in *.jpg; do convert $f ${f%jpg}png; done 

Ciò rimuove il jpg e aggiunge png che dice di convertire ciò che vuoi.