SVG 到黑白

Gio*_*hal 4 python xslt awk svg sed

我希望能够将 SVG 文档转换为黑白。我的尝试是使用 'sed' 的以下 Makefile 脚本:

%.bw.svg: %.svg
    sed '/stroke:none/!s/stroke:[^;\"]*/stroke:black/g' $< > $@
Run Code Online (Sandbox Code Playgroud)

这适用于线条等,但不适用于填充物。基本上,如果笔触不可见(无),那么我将其转换为黑色。我想对填充物做同样的事情,如果不是白色或不可见,则转换为黑色。

我想知道以更好的方式做这样的事情是否太复杂,也许使用 XSLT,但我没有经验。任何人都可以帮忙吗?

Jac*_*b G 5

我会尝试的两个选项:

1- Inkscape 似乎能够做到 - Inkscape Convert
2- SVG 支持 SVG 元素上的 ColorProfile 属性,该属性可以引用 ICC 颜色配置文件。我会尝试在那里引用 GrayScale 颜色配置文件,看看会发生什么。看起来这里有一个可用。