2009-01-04 50 views
2

我在Inkscape绘制的图标,但现在想以编程方式改变它(改变颜色略有不同的图标状态),并将其转化为含有不同颜色的多个图标平铺PNG格式文件。我知道Inkscape中的--export,PNG选项,但不能看到一个方法,使图像和/或出口多次改变组合图像的不同部分。编程图形工具链

是否有良好的面向用户的工具与图像编程摆弄,还是我必须深入到广东,甚至手动修改SVG XML?

回答

3

即使我不是100%确定它是否满足您的用户导向要求,我建议您看看www.imagemagick.org。我成功地使用了它的“convert”实用程序,用于从svg到png的脚本转换以及添加自定义背景颜色。

0

我用两个简单的套工具为一个的webcomic做到这一点:

  • 基本的Perl/PHP/Ruby脚本修改SVG XML(也有很大的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中呈现每个文件
  • 宽度被限制为640像素,
  • 该SVG文件清理(漂亮检查到SVN/git的前做)

您还可能有兴趣在Batik,一个SVG渲染引擎用Java编写的。它在服务器端很好地运行,并且相当独立。