我画了一个图标 墨景, ,但现在想以编程方式更改它(稍微更改不同图标状态的颜色)并将其转换为包含多个不同颜色图标的平铺 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 渲染引擎。它在服务器端运行良好,并且相当独立。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top