我正在尝试将 SVG 转换为 PNG(或任何光栅格式)并同时调整大小。
我以为我会使用 ImageMagick 来完成此任务,但它似乎在调整大小之前转换为光栅。
这会导致图像质量较差。
目前我通过命令行使用 ImageMagick:
convert file.svg -resize 100x100 file.png
源图像“大小”未知,并且目标大小直到运行时才知道。
这就是我的做法,而且似乎很有效。
convert -background none -density 1000 -resize 1000x compass.svg compass.png
以下是每个部分的作用。
- Use
-background none
确保 SVG 的任何透明部分保持透明并且不会被白色填充。
- 由于 ImageMagick 仅适用于您需要使用的光栅图像
-density 1000
并指定要将 SVG 大小调整到的宽度。这样,当您实际调用调整大小命令时,加载的 SVG 的光栅表示形式的宽度将已经为 1000,否则您最终将根据 SVG 图像的原始大小向上或向下调整光栅大小。
- Now use
-resize 1000x
为了给你的SVG一个新的宽度,高度将被自动计算以保持纵横比。
其中一个陷阱是,我真的不知道如何根据高度调整大小并计算宽度,因为-density
应用于宽度,而不是高度。因此,您必须事先知道 SVG 的实际比例并相应地使用宽度。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)