Inkscape命令行编程

时间:2012-03-11 04:54:02

标签: command-line layer inkscape

我希望能够从命令行中的预先存在的图像中获取新图像。为此,我打开/关闭具有部分图像的特定图层,然后将生成的图像保存到文件中。但是,虽然我可以看到帮助中列出的许多命令来操作图层,但我没有看到任何允许选择特定图像并将其打开/关闭的命令。

3 个答案:

答案 0 :(得分:7)

如果你想通过他们的ID(例如layer17layer4711)删除一些不需要的元素来实现你想要做的事情,你可以这样做:

inkscape image.svg \
  --select=layer17   --verb=EditDelete \
  --select=layer4711 --verb=EditDelete \
  --verb=FileSave --verb=FileClose

请注意,这会覆盖image.svg结果,因此如果您正在编写脚本,请务必使用副本而不是原件。

答案 1 :(得分:3)

inkscape image.svg --export-id-only --export-id=layer17 --export-png=image.png --export-width=100 --export-height=100

在Mac上你可能需要这样做:

/Applications/Inkscape.app/Contents/Resources/bin/inkscape --without-gui --file=image.svg --export-id-only --export-id=layer17 --export-png=image.png --export-width=100 --export-height=100

答案 2 :(得分:1)

我已经为这样的工作编写了一个Inkscape扩展。它为找到的每个选项层输出一个文件。它还将根据需要显示各种层组合。也可以编写脚本。我称它为 SLiCk图层组合器

https://github.com/juanitogan/slick