【问题标题】:Batch export and ungroup SVG to PNGs of each layer/group将 SVG 批量导出并取消组合为每个图层/组的 PNG
【发布时间】:2017-01-25 16:46:34
【问题描述】:

我有一个 SVG 图像文件夹,我正在研究如何将 SVG 的每一层(组)保存到单独的 PNG 文件中。我在 Matlab 中工作,但我还没有看到任何适用于 SVG 的方法。我查看了一些外部库,Batik 是主要的,但我不知道足够的 XML 来使它工作。我也看过 Inkscape,但它的 export options 似乎只允许您使用整个光栅化图像。我还查看了 ImageMagick,但只发现了一种似乎制作 GIF 的图层方法,而不是我想要的 SVG 图层。

更新:意识到我可以使用 ImageMagick 以这种方式保存图层convert image.svg[1] output.png,我仍然不知道 1)如何批量取消组合 SVG 中的图层(它们肯定是不可组合的——我在 Illustrator 中检查过)和 2) 计算每个 SVG 中有多少层,这样我就可以遍历所有层以单独保存它们。

【问题讨论】:

  • this 问题对您有帮助吗?
  • @ParagS.Chandakkar 谢谢,它确实有助于解决我试图将单个图层转换为 PNG 的问题。但我仍然停留在问题的其他部分(我在更新部分添加了一些说明)。

标签: matlab svg imagemagick inkscape batik


【解决方案1】:

您可以使用 ImageMagick 获取多层文件中“场景”(也称为层)的数量,如下所示:

convert image.svg -ping -format '%n' info:

或者,如果您运行以下命令,它将给出每层的尺寸和色彩空间以及类型,每行输出一层(因此计算层数的行数):

identify image.svg

我不认为你在处理群组方面会取得很大的成功——尽管我没有尝试过自己,因为我周围没有任何多层 SVG——因为 ImageMagick 主要是一个光栅图像编辑器和它“外包”(或用 ImageMagick 的说法,它“委托”)其矢量处理到 librsvg.

this Github code 可能会取得一些成功。

https://github.com/berteh/svg-objects-export

【讨论】:

    猜你喜欢
    • 2021-10-18
    • 2013-07-01
    • 2015-10-21
    • 1970-01-01
    • 1970-01-01
    • 2013-01-29
    • 2015-05-03
    • 2015-04-20
    • 1970-01-01
    相关资源
    最近更新 更多