Come convertire un'immagine PNG in un SVG?
Come convertire un'immagine PNG in un SVG?
Risposte:
C'è un sito web dove puoi caricare la tua immagine e vedere il risultato.
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
potrace -s
=> Il file di output è S VGpotrace -o file.svg
=> Scrivi output su file.svg
convert 2017.png 2017.pnm
File temporaneo = 2017.pnm
potrace 2017.pnm -s -o 2017.svg
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
Se vuoi convertire molti file, puoi anche usare il seguente comando a 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 )
Vedi anche questo buon confronto tra convertitori raster e vettoriali su Wikipedia.
potrace
icone in bianco e nero. Grazie per il tuo feedback Ma scusami non ho idea di come conservare i colori ... Ho! Ho un'idea: se l'immagine originale ha pochi colori (diciamo tre colori unici), puoi creare tre immagini iniziali (una per ogni colore). Quindi converti in SVG. E infine, unisci i tre contenuti SVG in un file (SVG è basato su XML). Spero che questo possa aiutare ... Saluti ;-)
convert
e potrace
sono disponibili su molte piattaforme. Sto usando computer basati su Linux. Ho appena usato questi comandi ieri per produrre un file SVG da un documento scansionato. Puoi vedere il risultato: cpp-frug.github.io/images/Cpp-President-2017.svg Spiega di più sul tuo target. Cosa vuoi / chiedo? Qual è il tuo bisogno / desiderio? Saluti ;-)
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, ma solo un'immagine incorporata in un formato basato su vettori. Puoi farlo usando http://www.inkscape.org/ che è gratuito. Lo incorporerebbe, tuttavia ha anche un motore come Live Trace che proverà a convertirlo in percorsi se lo si desidera (utilizzando Potrace). Vedere la traccia dal vivo in Adobe Illustrator (commerciale) è un esempio:
http://graphicssoft.about.com/od/illustrator/ss/sflivetrace.htm
Potresti voler guardare Potrace .
Facile
Come vedrai, se vuoi fare molte altre cose intelligenti .svg puoi farlo anche con Inkscape.
Un'osservazione non tecnica: personalmente preferisco questo metodo rispetto alle offerte di siti Web "gratuite" 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 di file o usa il nome esistente. Assicurarsi 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'IA perché puoi apportare qualsiasi modifica necessaria
in bocca al lupo
Con mia sorpresa, a quanto pare, può solo elaborare il bianco e nero. Questo potrebbe andare bene per il tuo caso d'uso, ma alcuni potrebbero considerare problematica la mancanza di tracciamento del colore.
Personalmente, ho avuto risultati soddisfacenti con Vector Magic
Non è ancora perfetto.
Una nota per coloro che usano potrace e imagemagick , la conversione di immagini PNG con trasparenza in PPM non sembra funzionare molto bene. Ecco un esempio che utilizza il -flatten
flag on convert
per gestire questo:
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 è possibile utilizzare PPM (256 * 3 colori, cioè RGB), PGM (256 colori, cioè scala di grigi) o PBM (2 colori, cioè solo bianco o nero) come formato di input. Dalle mie osservazioni limitate, sembrerebbe che sulle immagini anti-aliasing, PPM e PGM (che producono SVG identici per quanto posso vedere) riducano l'area colorata e PBM espande l'area colorata (anche se solo un po '). Presumibilmente questa è la differenza tra un pixel > (256 / 2)
test e un pixel > 0
test. È possibile alternare tra i tre 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 le mie esigenze.
Ho appena trovato questa domanda e le risposte mentre sto cercando di fare la stessa cosa! Non volevo usare alcuni degli altri strumenti citati. (Non voglio dare via la mia e-mail e non voglio pagare). Ho scoperto che Inkscape (v0.91) può fare un ottimo lavoro. Questo tutorial è rapido e facile da capire.
È semplice come selezionare la tua bitmap in Inkskape e Shift + Alt + B.
A seconda del motivo per cui vuoi convertire da .png a .svg, potresti non dover affrontare il problema. La conversione da .png (raster) a .svg (vettoriale) può essere una seccatura se non si ha molta familiarità con gli strumenti disponibili o se non si è un graphic designer di professione.
Se qualcuno ti invia un file di grandi dimensioni e ad alta risoluzione (ad esempio 1024x1024), puoi ridimensionarlo fino a qualsiasi dimensione desiderata in GIMP. Spesso, si avranno problemi nel ridimensionamento di un'immagine se la risoluzione (numero di pixel per pollice) è troppo bassa. Per correggere ciò in GIMP, puoi:
File -> Open
: il tuo file .pngImage -> Image Properties
: controlla la risoluzione e lo spazio colore. Volete una risoluzione di circa 300 ppi. Nella maggior parte dei casi si desidera che lo spazio colore sia RGB.Image -> Mode
: impostato su RGBImage -> Scale Image
: lascia da solo le dimensioni, imposta e risoluzione Y su 300 o superiore. Hit Scale.Image -> Scale Image
: la risoluzione ora dovrebbe essere 300 e ora puoi ridimensionare l'immagine fino a quasi tutte le dimensioni che desideri.Non è facile come ridimensionare un file .svg, ma sicuramente più facile e veloce rispetto al tentativo di convertire un .png in un .svg, se hai già un'immagine grande e ad alta risoluzione.
Presumo che tu voglia scrivere software per farlo. Per farlo in modo ingenuo, dovresti semplicemente trovare le linee e impostare i vettori. Per farlo in modo intelligente, si tenta di adattare le forme al disegno (adattamento del modello). Inoltre, dovresti tentare di accertare le regioni bitmap (regioni che non puoi modellare attraverso vergogna o applicare trame. Non consiglierei di seguire questa strada in quanto richiederà un po 'di tempo e richiede un po' di conoscenza della grafica e della visione artificiale. Tuttavia, l'output sarà molto e scalerà molto meglio dell'output originale.
http://online-converting.com/image/convert-to-svg/ ha funzionato bene per la conversione in svg
potrace
della riga di comando - mi chiedo che cosa il sito Web utilizza internamente ...
Questo strumento sta funzionando molto bene in questo momento.
Se usi un sistema Linux, imagemagick è perfetto. ie
convert somefile.png somefile.svg
Funziona con un sacco di formati diversi.
Per altri media come l'uso di video e audio (ffmpeg) , tuttavia, so che hai chiaramente indicato png in svg; È ancora relativo ai media.
ffmpeg -i somefile.mp3 somefile.ogg
Solo un consiglio per se si desidera esaminare molti file; un ciclo usando i trucchi di base della shell ..
for f in *.jpg; do convert $f ${f%jpg}png; done
Ciò rimuove il jpg e aggiunge png che dice a convertire ciò che vuoi.