2012-12-11 42 views
3

我試圖找到這個答案(谷歌和Stackoverflow)沒有成功,但我相信它一定之前已經問過,所以隨時指出我的答案,如果它存在。如何從SVG路徑創建BufferedImage?

目前,我有一個Java servlet將磁盤中的PNG加載到BufferedImage中,在其上寫入文本,然後將字節[]傳回客戶端。

我的願望是用我已經在線提供的一系列圖標路徑替換帶有SVG渲染路徑的PNG-from-disk(例如「M21.871,9.814 15.684,16.001 21.871,22.188 18.335 ,25.725 8.612,16.001 18.335,6.276z「 and 」M22.727,18.242L4.792,27.20818.966-8.9661-4.483-4.484l17.933-8.9661-8.966,8.966L22.727,18.242z 「)。

我遇到了BatikSVG Salamander,但我正在努力瞭解如何使用它們中的任何一個來完成上述任務,具體來說就是如何將SVG路徑渲染到BufferedImage中。我需要能夠指定(a)圖像的尺寸,(b)填充顏色和(c)筆劃寬度和顏色。

回答

3

Here是一個基本上使用Transcoder API的例子。

+0

我發現了很多關於加載SVG文件的例子和討論,但我沒有SVG文件。我有SVG路徑,我還沒有看到任何將這些頁面解析成可以呈現爲BufferedImage的對象的方式。我錯過了什麼嗎?有沒有簡單的方法將路徑轉換成SVG文件? – Martin

+0

對不起,我的意思是「解析這些路徑」,而不是「解析這些頁面」! – Martin

+0

是的,它是字符串連接。 'String svgFile =「」;新的TranscoderInput(新的java.io.StringReader(svgFile))' – ignis