3
A
回答
3
我不知道任何可以直接支持這個確切工作流程的庫,但這可能是因爲至少在表面上它看起來超級平凡。假設您正在討論頂級<path/>
節點,那麼這應該可以與任何可以使用XML的庫完成 - 只需直接使用原始XML並忽略此特定文檔是SVG的事實。如果您有:
<svg ...>
<path title="a" d="M 100 100 L 300 100 L 200 300 z" stroke-width="3" />
<path title="b" d="M 200 100 L 300 100 L 200 300 z" stroke-width="3" />
<path title="c" d="M 300 100 L 300 100 L 200 300 z" stroke-width="3" />
</svg>
你想:
[a.svg]
<svg ...>
<path d="M 100 100 L 300 100 L 200 300 z" stroke="blue" stroke-width="3" />
</svg>
[b.svg]
<svg ...>
<path d="M 200 100 L 300 100 L 200 300 z" stroke="blue" stroke-width="3" />
</svg>
然後你只需要使用您選擇的語言/庫/工具,並規定了「路徑」節點的路徑,它們吸出來並抓取標題屬性,並將它們複製到一個新文檔中,該文檔將標題作爲文件名共享相同的原始畫布屬性(如果這適合您的情況 - 或將其更改爲您所需的任何內容)。對於任何XML解析器,甚至是最基本的DOM處理API(或者XSLT/XPATH等)來說,這應該是相當簡單的。
1
Apache Batik庫是用於顯示和操作SVG內容的Java庫。要生成PNG文件,您可以使用它們的DOM API將display
屬性設置爲none
,除了要渲染的路徑之外的所有路徑,然後使用它們的Transcoder API生成位圖。遍歷SVG文檔中的所有路徑元素,並將display
屬性設置爲inline
,以便爲每個路徑元素生成一個位圖。
3
謝謝大家。我最終使用了兩個答案的組合。我使用Ruby腳本來解析SVG文件併爲每個路徑寫一個新的文件,然後蠟染轉換器從該文件生成一個png。接受的答案是尼克,因爲關鍵在於它很容易創建單獨的SVG。謝謝尼克!
這裏的腳本:
require 'rubygems'
require 'nokogiri'
file = 'dark_florida_no_numbers.svg'
file_string = IO.read(file)
reader = Nokogiri::XML::Reader(file_string)
reader.each do |node|
if node.name == 'path'
county = node.attributes['id']
File.open("dark/#{county}.svg", 'w') do |f|
f.write "<svg xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.0\" >\n <path "
node.attributes.each do |attr, value|
f.write " #{attr}=\"#{value}\""
end
f.write "/>\n</svg>"
end
`java -jar b/batik-rasterizer.jar dark/#{county}.svg`
end
end
相關問題
- 1. 如何將base64 svg圖像轉換爲base64圖像png
- 2. 將SVG轉換爲PNG圖像
- 3. 嘗試將SVG轉換爲PNG圖像
- 4. 將.png圖像轉換爲.gif圖像
- 5. 如何將base64_encode png圖像轉換爲簡單圖像
- 6. 如何在Internet Explorer中將svg轉換爲png圖像?
- 7. 將圖像路徑轉換爲http url
- 8. 將PNG圖像轉換爲SVG /矢量圖
- 9. 將SVG圖像轉換爲路徑描述
- 10. 可以將SVG圖像路徑轉換爲Imagemap座標嗎?
- 11. 使用JQuery將XML圖像路徑轉換爲圖像
- 12. 通過servlet將svg圖像轉換爲java中的png
- 13. 使用PHP將SVG圖像轉換爲PNG
- 14. 在瀏覽器中將SVG轉換爲圖像(JPEG,PNG等)
- 15. 將svg圖像轉換爲png透明背景
- 16. 將一串圖像從svg轉換爲png
- 17. 將svg轉換爲png會生成空白圖像
- 18. 如何將圖像的文件路徑轉換爲實際圖像?
- 19. 將PNG圖像轉換爲視頻
- 20. 如何將位圖圖像轉換爲Windows Phone 7中的png?
- 21. 如何將png圖像字符串數據轉換爲png?
- 22. 將jQuery SVG轉換爲圖像
- 23. 將SVG作爲PNG圖像下載
- 24. 如何使用ogr2ogr將S57圖表轉換爲PNG圖像
- 25. 如何使用ALAssetsLibrary將圖像路徑轉換爲uiimage
- 26. 將jpeg圖像轉換爲透明PNG圖像
- 27. 如何將base64圖像路徑轉換爲使用jquery的真實路徑。
- 28. 如何將JPEG圖像轉換爲透明背景的PNG圖像?
- 29. 如何將原始圖像轉換爲Python中的PNG?
- 30. 如何將圖像(GIF,JPG,JPEG,PNG)轉換爲PHP中的TIFF?
我的壞...我沒有解釋的必要輸出。我需要輸出光柵圖像(例如PNG)...我會修改這個問題。 – btelles 2009-11-24 04:22:54
我想我仍然會按照我所說的去做,然後通過imagemagick或類似的東西餵它們來生成光柵輸出。 – 2009-11-24 04:44:12