Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 批量导出SVG并将其解组为每个层/组的PNG_Matlab_Svg_Imagemagick_Inkscape_Batik - Fatal编程技术网

Matlab 批量导出SVG并将其解组为每个层/组的PNG

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

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

更新:意识到我可以使用ImageMagick以这种方式保存图层
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