首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用ImageMagick将SVG转换为具有抗锯齿功能的透明PNG

使用ImageMagick将SVG转换为具有抗锯齿功能的透明PNG
EN

Stack Overflow用户
提问于 2012-03-02 17:03:25
回答 4查看 50.4K关注 0票数 73

我想将SVG图像转换为具有透明背景和抗锯齿边缘(使用半透明像素)的PNG文件。不幸的是,我不能让ImageMagick去做抗锯齿,边缘总是看起来很糟糕。这是我尝试过的:

代码语言:javascript
复制
convert +antialias -background transparent  in.svg -resize 25x25 out.png

有什么想法或不同的命令行工具可以使用吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-06 00:18:43

Inkscape将执行以下操作:

代码语言:javascript
复制
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 (注意:这会覆盖输出)。

代码语言:javascript
复制
inkscape \
    --export-type=png --export-dpi=200 \
    --export-background-opacity=0 picture.svg

注意:引用的维基在--export-type=png上有引号,这是不正确的。

另外,如果没有Inkscape命令行,MacOS可以直接通过bash访问:

代码语言:javascript
复制
/Applications/Inkscape.app/Contents/MacOS/inkscape
票数 60
EN

Stack Overflow用户

发布于 2015-01-11 18:59:39

我学习如何做到这一点的方法是从这里找到的方法:How to convert a .eps file to a high quality 1024x1024 .jpg?

这与@halfer使用inkscape的解决方案的想法相同--首先提升DPI --但是您可以使用-density选项在imagemagick中完成相同的事情。

代码语言:javascript
复制
convert -density 200 in.svg -resize 25x25 -transparent white out.png
票数 11
EN

Stack Overflow用户

发布于 2020-04-25 22:35:11

对我来说,它适用于svg到png:

代码语言:javascript
复制
convert ${src} \
    -transparent white \
    -background none \
    -resize 345x345 \
    res/drawable-xxxhdpi/${dest}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9530524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档