我想将SVG图像转换为具有透明背景和抗锯齿边缘(使用半透明像素)的PNG文件。不幸的是,我不能让ImageMagick去做抗锯齿,边缘总是看起来很糟糕。这是我尝试过的:
convert +antialias -background transparent in.svg -resize 25x25 out.png
有什么想法或不同的命令行工具可以使用吗?
发布于 2012-03-06 00:18:43
Inkscape将执行以下操作:
inkscape \
--export-png=out.png --export-dpi=200 \
--export-background-opacity=0 --without-gui in.svg
更新
术语有changed:所有导出参数都会抑制gui,而输出参数现在只是基于文件类型。例如,一种类型的png
将导致/path/to/picture.svg
中的文件导出为/path/to/picture.png
(注意:这会覆盖输出)。
inkscape \
--export-type=png --export-dpi=200 \
--export-background-opacity=0 picture.svg
注意:引用的维基在--export-type=png
上有引号,这是不正确的。
另外,如果没有Inkscape命令行,MacOS可以直接通过bash访问:
/Applications/Inkscape.app/Contents/MacOS/inkscape
发布于 2015-01-11 18:59:39
我学习如何做到这一点的方法是从这里找到的方法:How to convert a .eps file to a high quality 1024x1024 .jpg?
这与@halfer使用inkscape
的解决方案的想法相同--首先提升DPI --但是您可以使用-density
选项在imagemagick
中完成相同的事情。
convert -density 200 in.svg -resize 25x25 -transparent white out.png
发布于 2020-04-25 22:35:11
对我来说,它适用于svg到png:
convert ${src} \
-transparent white \
-background none \
-resize 345x345 \
res/drawable-xxxhdpi/${dest}
https://stackoverflow.com/questions/9530524
复制相似问题