通过命令行(inkscape)更改svg文件中的颜色

Bal*_*pos 5 command-line svg inkscape

我有一个只有一种颜色的.svg文件.我想将此颜色更改为另一种颜色并通过命令行导出.(我必须做大约100次,所以手工操作不起作用.)我现在使用Inkscape.我可以使用此命令更改背景颜色并导出:

inkscape -f name.svt -e output_name.png -b #000080
Run Code Online (Sandbox Code Playgroud)

但我找不到改变正常颜色的方法.我找到这个动词:

org.inkscape.color.replacecolor
Run Code Online (Sandbox Code Playgroud)

但我不知道,如何添加我想要使用的颜色,我读到的地方,我不能向变量添加变量,但在这种情况下,如何使用这个动词?

先感谢您.

Gro*_*uez 7

这是不是一个通用的解决方案,但由于SVG文件就是XML内部,如果你的SVG文件是很简单的,你也许能逃脱一个简单的sed替代品.例如,以下用#ffffff(白色)替换#000000(黑色):

sed -e "s/#000000/#ffffff/" input.svg >output.svg
Run Code Online (Sandbox Code Playgroud)

这可能会或可能不足以满足您的需求.


Joh*_*ith 0

虽然 inkscape 是一个强大的工具,但我认为您对 xlst 转换会有更多的运气(控制)。这将允许您对 xml 文件执行任何操作,而不是将文件解析为 svg 图像并依赖于可用的 API。为此,您可以查看像 xsltproc 这样的工具。