Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Command line 通过命令行(inkscape)更改svg文件中的颜色_Command Line_Svg_Inkscape - Fatal编程技术网

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

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 但是我不知道,如何添加我想要使用的颜色,在我读到的某个地方,我不能在动词中添

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

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