SVG to JPG / PNG

2020-07-07 01:03发布

问题:

Is there any working module to convert a SVG image into a pixel format like JPEG or PNG?

回答1:

Take a look at the Batik toolkit. Specifically the rasterizer:

http://xmlgraphics.apache.org/batik/tools/rasterizer.html



回答2:

If you're using PEAR you can the XML_svg2image package (http://pear.php.net/package/XML_svg2image/). If not you should take a look at ImageMagick command line tool (http://www.imagemagick.org/script/command-line-tools.php). The convert program is quite simple to use : http://www.imagemagick.org/script/convert.php#usage



回答3:

If you have imagemagick installed (the tool, not sure how it would work with the PHP package), it can be as simple as:

<?php
  `convert infile.svg outfile.jpg`
?>


回答4:

We can also use command line interface such as inkscape to achieve it. Download inkscape from inkscape.org

Open Terminal/command prompt Type command as:

single file conversion

inkscape -z --file=original.svg --export-png=converted.png --export-area-drawing --export-dpi=200

Batch conversion of SVG's to PNG can be achieved as follows :

for i in *.svg; 
   do inkscape -z --file=$i --export-png=$i.png --export-area-drawing --export-dpi=200; 
done

--export-area-drawing : This will only export the drawing area of SVG file and not the whole document area.