Conversione di SVG in PNG / JPEG / BMP e Vice Versa?

Codice in PHP per convertire SVG in altri formati di image e di fronte ??

Bene, probabilmente vorrai usare le funzioni ImageMagick o GD . Ma tieni presente che non puoi convertire da PNG / JPEG / BMP a SVG, quella è una strada a senso unico.

Modifica: elaborazione

La conversione di un'image SVG (vettoriale) in un'image PNG (bitmap) è banale. ImageMagick può farlo con certezza, e sono abbastanza sicuro che GD dovrebbe essere in grado di farlo. In caso contrario, ci sono anche associazioni PHP per rsvg.

Convertire PNG (bitmap) in SVG (vector), d'altra parte, è un integer "nocciolo". Il nocciolo della questione è che un'image bitmap contiene semplicemente less informazioni di un'image vettoriale: le informazioni su forms, linee e strutture in particolare sono appiattite su pixel goop e irrimediabilmente perdute. In alcuni casi, queste informazioni possono essere ricostruite, ma mai effettivamente recuperate o riscoperte.

La vettorizzazione è semplicemente un metodo per creare una nuova image vettoriale basata su un'image bitmap, avendo il computer il tentativo di scoprire linee e forms. Questo problema è tutt'altro che banale, e il process non è certamente perfetto, e nemless affidabile in un ambiente automatizzato.

Solo Jon Skeet può convertire un PNG in un SVG.

Reedit : autotracing ed esperienza personale

Qualche tempo fa ho effettivamente lavorato sul tracciamento di un'image raster per alcuni prototipi di creazione di una piccola web-app ( trovalo qui, MNSFW, richiede FFx / Safari / Opera ). La creazione del vector è stata eseguita utilizzando potrace per tracciare ripetutamente un'image in bianco / nero con soglia per isolare gli elementi e successivamente ribuild l'image a mano. Era un process estenuante, ma all'epoca ero senza lavoro e non avevo niente di meglio da fare.

Il punto è: la tracciatura automatica delle immagini raster per produrre immagini vettoriali è al top nel migliore dei modi, e get risultati affidabili in modo affidabile richiede

  1. Una buona image di origine
  2. Un grande sforzo

Diverse opzioni

  1. incorporare l'image come dataURI. Non è tecnicamente una conversione, ma un mucchio di convertitori online funziona in questo modo.

  2. convertire l'image raster in pixel SVG per pixel. Questo non sarà scalabile e la dimensione del file sarà enorme, quindi non è nemless ottimale.

  3. Interfaccia con AutoTrace (tramite system ) per analizzare le immagini che vuoi convertire per get un approssimativo. I formati di input sono BMP, TGA, PNM, PPM, PGM, PBM e quelli supportti da ImageMagick. I formati di esportzione sono Postscript, svg, xfig, swf, pstoedit, emf, dxf, cgm, mif, p2e e sk. AutoTrace è FOSS.

Tuttavia, se vai con 3, non aspettarti che l'output assomigli troppo all'immissione in seguito. Come già indicato da altri, perderai i dettagli durante il process di conversione.

  • Demo di conversione online con AutoTrace