Command line 通过命令行(inkscape)更改svg文件中的颜色
我有一个只有一种颜色的.svg文件。我想将此颜色更改为另一种颜色,并通过命令行将其导出。(我必须做大约100次,所以手工做不起作用。)我现在使用Inkscape。 我可以使用此命令更改背景颜色并导出:Command line 通过命令行(inkscape)更改svg文件中的颜色,command-line,svg,inkscape,Command Line,Svg,Inkscape,我有一个只有一种颜色的.svg文件。我想将此颜色更改为另一种颜色,并通过命令行将其导出。(我必须做大约100次,所以手工做不起作用。)我现在使用Inkscape。 我可以使用此命令更改背景颜色并导出: inkscape -f name.svt -e output_name.png -b #000080 但是我找不到改变正常颜色的方法。 我发现这个动词: org.inkscape.color.replacecolor 但是我不知道,如何添加我想要使用的颜色,在我读到的某个地方,我不能在动词中添
inkscape -f name.svt -e output_name.png -b #000080
但是我找不到改变正常颜色的方法。
我发现这个动词:
org.inkscape.color.replacecolor
但是我不知道,如何添加我想要使用的颜色,在我读到的某个地方,我不能在动词中添加变量,但是在这种情况下,这个动词怎么能使用呢
提前感谢您。尽管inkscape是一个强大的工具,但我认为您在使用xlst转换时会有更多的运气(控制)。这将允许您对xml文件执行任何操作,而不是将文件解析为svg图像并依赖可用的API。为此,您可以查看类似xsltproc的工具。这不是一个通用的解决方案,但由于SVG文件在内部只是XML,如果您的SVG文件足够简单,您可能可以通过简单的
sed
替换来解决问题。例如,以下内容将#000000(黑色)替换为#ffffff(白色):
这对于你的需要来说可能足够好,也可能不够好。绝妙的技巧。如果它对任何人都有帮助,我会补充说,这种方法可以将具有多种颜色的SVG转换为单色。例如
sed-e“s/#../#000000/”input.svg>output.svg
创建全黑svg。当没有颜色集时,它将无法工作,就像在互联网上的每个svg图标中一样
sed -e "s/#000000/#ffffff/" input.svg >output.svg