【问题标题】:Inkscape command line programmingInkscape 命令行编程
【发布时间】:2012-03-27 23:55:30
【问题描述】:

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

【问题讨论】:

    标签: command-line layer inkscape


    【解决方案1】:

    如果您想通过 id 删除一些不需要的元素(例如,layer17layer4711)来实现,您可以这样做:

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

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

    【讨论】:

    • 这对我不起作用(inkscape 0.91)。我在 Windows 上,这可能是问题吗?
    • 它可能也需要适应 Windows;上述格式来自 mac 或类似的 unix 风格的环境(在另一个答案中使用 Skela 的提示可能会更好)。如果您发现如何使其适应 Windows,请务必告知 - 它会在您的情况下帮助其他人。
    • 注意这里你需要使用层id(你可以在“Edit -> XML Editor ...”下看到),而不是层name (这是您主要在 Inkscape GUI 中看到的)
    【解决方案2】:
    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
    

    【讨论】:

    • 遗憾的是,这只允许为每个生成的图像选择一个图层
    • 你可以很容易地让它导出你想要分离文件的每一层,然后你使用 imageMagick 之类的东西来组合它们
    【解决方案3】:

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

    https://github.com/juanitogan/slick

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-10
      • 2021-05-22
      • 1970-01-01
      • 1970-01-01
      • 2014-03-31
      • 2021-12-02
      • 1970-01-01
      相关资源
      最近更新 更多