Command line Inkscape命令行编程

Command line Inkscape命令行编程,command-line,layer,inkscape,Command Line,Layer,Inkscape,我希望能够从命令行中预先存在的映像中派生新映像。要做到这一点,我需要打开/关闭包含图像部分的特定层,然后将生成的图像保存到文件中。但是,虽然我可以看到“帮助”中列出了许多操作图层的命令,但我看不到任何命令允许用户选择一个特定的图层并将其打开/关闭。如果您想通过按id删除一些不需要的元素(例如,layer17和layer4711)来实现此目的,您可以通过以下方式完成: inkscape image.svg \ --select=layer17 --verb=EditDelete \ -

我希望能够从命令行中预先存在的映像中派生新映像。要做到这一点,我需要打开/关闭包含图像部分的特定层,然后将生成的图像保存到文件中。但是,虽然我可以看到“帮助”中列出了许多操作图层的命令,但我看不到任何命令允许用户选择一个特定的图层并将其打开/关闭。

如果您想通过按id删除一些不需要的元素(例如,
layer17
layer4711
)来实现此目的,您可以通过以下方式完成:

inkscape image.svg \
  --select=layer17   --verb=EditDelete \
  --select=layer4711 --verb=EditDelete \
  --verb=FileSave --verb=FileClose
请注意,这将用结果覆盖
image.svg
,因此,如果要编写脚本,请确保使用副本而不是原件

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

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


这对我不起作用(inkscape 0.91)。我在Windows上,这可能是问题吗?它可能也需要适应Windows;上述格式来自mac或类似unix风格的环境(在另一个答案中,Skela的提示可能会使其更好)。如果您发现如何使其适应Windows,请告诉–这将有助于其他人应对您的情况。请注意,这里您需要使用层id(您可以在“编辑->XML编辑器…”下看到),而不是层名称(这是您在Inkscape GUI中主要看到的),这只允许为生成的图像选择一个层。您可以轻松地让它导出要分离文件的每个层,然后使用imageMagick之类的工具将它们组合起来