2017-01-25 63 views
0

我有一個SVG圖像文件夾,我在看我如何能夠將SVG的每個圖層(組)都保存到單獨的PNG文件中。我在Matlab中工作,但我還沒有看到任何適用於SVG的方法。我查看了一些外部庫,Batik是主要的庫,但我不知道有足夠的XML來實現這個功能。我也看了Inkscape,但它的export options似乎只允許你使用整個光柵化圖像。我也看了一下ImageMagick,但只發現了一個圖層方法,它似乎製作了GIF,而不是我想要從SVG獲得的圖層。批量導出和取消將每個圖層/組的SVG分組到PNG

更新:意識到我可以使用ImageMagick以這種方式保存圖層convert image.svg[1] output.png,我仍然不知道1)如何在SVG中批量取消圖層組合(他們無法確定 - 我檢查了Illustrator)和2)統計每個SVG中有多少圖層,以便我可以遍歷所有圖層以單獨保存它們。

+0

確實[這](http://superuser.com/questions/260047/batch-convert-svg-images-to-desired-size-png-or-ico)問題的幫助嗎? –

+0

@ ParagS.Chandakkar謝謝,它確實幫助了我嘗試將單個圖層轉換爲PNG的問題。但我仍然堅持問題的其他部分(我在更新部分添加了一些說明)。 –

回答

0

你可以在一個多層文件獲得「場景」(又名層)的數量與ImageMagick的這樣的:

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

另外,如果您運行下面的命令,它會給尺寸和色彩空間,而每一層的類型,每路輸出的線路一層(所以計數層數線):

identify image.svg 

我不認爲你會有多大的成功處理羣體 - 儘管我沒有嘗試過自己的I沒有任何多層SVGs躺在身邊 - 因爲ImageMagick的主要是一個光柵圖像編輯器,它「外包」(或ImageMagick的的說法,它「代表」)的矢量處理,以librsvg

您可能會在this Github code上獲得一些成功。

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