我需要对 svg 文件进行一些批处理。 SVG 元素都是黑色或白色,我需要单色(黑/白,无灰度)的位图图像。
在 inkscape gui 中,我可以选择此选项。
但是,我没有看到任何与抗锯齿相关的 inkscape cli 选项
librsvg 也是如此,(rsvg-convert) 手册中没有与抗锯齿相关的命令行选项。
第二个想法是导出为 png 图像,然后使用 ImageMagick 对图像进行阈值处理。但是,在我的系统上
Mac OSX catalina (latest)
brew install imagemagick -> 7.0.10-23
当我运行以下命令时,出现错误:
>>> convert test.im.png -channel RGB -threshhold 50% test.im.t.png
convert: unrecognized option `-threshhold' @ error/convert.c/ConvertImageCommand/3112.
鉴于这些问题,正在寻求有关如何在命令行上从黑白 svg 到黑白 png 进行批处理的一些帮助。
在 IM 7 上,使用 magick,而不是转换。所以尝试一下吧
magick +antialias image.svg -channel RGB result.png
或
magick image.svg -channel RGB -threshold 50% result.png
如果其中之一有效,那么您可以使用 magick mogrify 处理整个文件夹的文件。请参阅https://imagemagick.org/Usage/basics/#mogrify
这似乎将在 inkscape 1.4 版本中添加,截至目前(2024 年 3 月)需要手动编译。 linux ppa 1.3 版本中还没有它。
已编译并测试,效果良好。
新的
--export-png-antialias
命令行选项,您可以将其设置为 0(无)到 3(最佳)
这是显示新版本的源代码: