题
我画了一个图标 墨景, ,但现在想以编程方式更改它(稍微更改不同图标状态的颜色)并将其转换为包含多个不同颜色图标的平铺 PNG 格式文件。我知道 Inkscape --导出-png 选项,但无法找到一种方法来更改图像和/或多次导出到组合图像的不同部分。
有没有什么好的 以用户为导向 用于以编程方式摆弄图像的工具,还是我必须深入研究 GD,甚至手动修改 SVG XML?
解决方案
即使我不能100%确定它是否满足您的用户导向要求,我建议您查看 www.imagemagick.org 。我已成功使用其“转换”功能脚本从svg转换为png以及添加自定义背景颜色的实用程序。
其他提示
我使用两套简单的工具来为网络漫画执行此操作:
- 用于修改 SVG XML 的基本 Perl/PHP/Ruby 脚本(还有一个很棒的 Perl 库,但我发现它不需要我需要的基本更改)
- 从命令行运行 Inkscape 本身,将 SVG 渲染为 PNG。Inkscape 的 SVG 渲染是迄今为止我发现的最好的。
笔记:Inkscape 可以通过一些工作安装在网络服务器上,并且可以从 CGI(perl、php 等)调用,尽管它很慢(因此您应该缓存结果)。
在 SVG 文件目录上从命令行调用它:
find -name "*svg" -exec inkscape -z --file={} \
--export-png=$OUTPUT{}.png --export-width=640 --vacuum-defs \;
- 查找所有 SVG 文件
- 运行 Inkscape 渲染每个文件
- 宽度限制为 640px
- SVG 文件已清理(在签入 svn/git 之前最好这样做)
您也可能对。。。有兴趣 蜡染, ,一个用 Java 编写的 SVG 渲染引擎。它在服务器端运行良好,并且相当独立。
不隶属于 StackOverflow