如何使用Image Magick将SVG转换为PNG?
我有一个定义大小为16x16的SVG文件。 当我使用Image Magick的转换程序将其转换为PNG格式时,我得到一个16x16像素的PNG,它太小了:
convert test.svg test.png
我需要指定输出PNG的像素大小。 -size
参数似乎被忽略, -scale
参数在将PNG转换为PNG 后对其进行缩放。 到目前为止,我通过使用-density
参数得到了最好的结果:
convert -density 1200 test.svg test.png
但是我不满意,因为我想以像素为单位指定输出大小而不用数学计算密度值。 所以我想要做这样的事情:
convert -setTheOutputSizeOfThePng 1024x1024 test.svg test.png
那么我必须在这里使用什么神奇参数?
在这种情况下,我无法从ImageMagick中获得好的效果,但Inkscape在Linux和Windows上做得很好:
inkscape -z -e test.png -w 1024 -h 1024 test.svg
以下是使用此命令将16x16 SVG缩放到200x200 PNG的结果:
仅供参考,我的Inkscape版本(在Ubuntu 12.04上)是:
Inkscape 0.48.3.1 r9886 (Mar 29 2012)
在Windows 7上,它是:
Inkscape 0.48.4 r9939 (Dec 17 2012)
试试svgexport :
svgexport input.svg output.png 64x
svgexport input.svg output.png 1024:1024
svgexport是一个简单的跨平台命令行工具,我已经将svg文件导出为jpg和png,请参阅此处获取更多选项。 要安装svgexport安装npm,然后运行:
npm install svgexport -g
编辑:如果您发现图书馆的问题,请在GitHub上提交,谢谢!
这并不完美,但是它完成了这项工作。
convert -density 1200 -resize 200x200 source.svg target.png
基本上它增加了DPI足够高(只是使用一个受过教育的/安全的猜测),调整大小是用足够的质量完成的。 我试图找到一个适当的解决方案,但经过一段时间后认为这足以满足我目前的需求。
注意:使用200x200! 强制给定的决议
链接地址: http://www.djcxy.com/p/18313.html上一篇: How to convert a SVG to a PNG with Image Magick?
下一篇: FXG and flex sdk