我在Inkscape中绘制了一个图标,但现在想以编程方式对其进行更改(针对不同的图标状态稍微更改颜色)并将其转换为包含多个不同颜色图标的平铺 PNG 格式文件。我知道 Inkscape 的--export-png选项,但看不到让它更改图像和/或多次导出到组合图像的不同部分的方法。
是否有任何好的面向用户的工具来以编程方式摆弄图像,或者我是否必须深入研究 GD 甚至手动修改 SVG XML?
尽管我不能 100% 确定它是否满足您对面向用户的要求,但我建议您查看www.imagemagick.org。我已经成功地使用它的“convert”实用程序将脚本从 svg 转换为 png 并添加自定义背景颜色。
我使用两组简单的工具来为网络漫画做到这一点:
注意:Inkscape 可以通过一些工作安装在网络服务器上,并且可以从 CGI(perl、php 等)调用,尽管它很慢(所以你应该缓存结果)。
从 SVG 文件目录的命令行调用它:
find -name "*svg" -exec inkscape -z --file={} \
--export-png=$OUTPUT{}.png --export-width=640 --vacuum-defs \;
您可能还对Batik感兴趣,这是一个用 Java 编写的 SVG 渲染引擎。它在服务器端运行良好,并且相当独立。