Matlab 批量导出SVG并将其解组为每个层/组的PNG
我有一个SVG图像文件夹,我正在研究如何将SVG的每一层(组)保存到一个单独的PNG文件中。我在Matlab中工作,但我还没有看到任何适用于SVG的方法。我查看了一些外部库,Batik是主要的库,但我不知道足够的XML来实现这一点。我也看过Inkscape,但它似乎只允许您处理整个光栅化图像。我还研究了ImageMagick,但只发现了一个layers方法,它似乎可以生成GIF,而不是我想要的SVG层 更新:意识到我可以使用ImageMagick以这种方式保存图层Matlab 批量导出SVG并将其解组为每个层/组的PNG,matlab,svg,imagemagick,inkscape,batik,Matlab,Svg,Imagemagick,Inkscape,Batik,我有一个SVG图像文件夹,我正在研究如何将SVG的每一层(组)保存到一个单独的PNG文件中。我在Matlab中工作,但我还没有看到任何适用于SVG的方法。我查看了一些外部库,Batik是主要的库,但我不知道足够的XML来实现这一点。我也看过Inkscape,但它似乎只允许您处理整个光栅化图像。我还研究了ImageMagick,但只发现了一个layers方法,它似乎可以生成GIF,而不是我想要的SVG层 更新:意识到我可以使用ImageMagick以这种方式保存图层convert image.sv
convert image.svg[1]output.png
,我仍然不知道1)如何在svg中批量解组图层(它们确实是可解组的——我在Illustrator中签了名)2)计算每个SVG中有多少层,这样我就可以遍历所有层来分别保存它们。使用ImageMagick可以获得多层文件中的“场景”(也称为层)数量,如下所示:
convert image.svg -ping -format '%n' info:
或者,如果您运行以下命令,它将给出每个层的尺寸和颜色空间以及类型,每行输出一层(因此,按层数计算行数):
我认为你在处理团队方面不会取得太大成功——尽管我没有尝试过自己,因为我没有任何多层SVG——因为ImageMagick主要是一个光栅图像编辑器,它“外包”(或者用ImageMagick的说法,它是“委托”)它对librsvg的向量处理
你可能会在这方面取得一些成功
这个问题对你有帮助吗?@ParagS.Chandakkar谢谢,它确实帮助了问题的一部分,我正在尝试将单个图层转换为PNG。但我仍然停留在问题的其他部分(我在更新部分添加了一些澄清)。
identify image.svg
https://github.com/berteh/svg-objects-export