2013-01-11 90 views
0

我目前正在使用JavaFX 2.2和Batik。我有一個窗格的應用程序,您可以拖動多個SVG圖片。 這是所有工作,每個圖片的svg代碼存儲在每個對象,所以我也可以得到它。從java中的許多小型svg文件創建SVG文件

但是現在我想對此窗格及其當前的SVG子項進行「截圖」並將其導出爲svg文件。

對我來說,有兩種可能性:

1)與takeSnapshot()函數爲.png文件導出,並將其轉換爲SVG

2)或創建一個新的SVG文件從所有小的svg文件中注意每個svg圖片對象的位置。

後者可能嗎?或者是否有人知道,蠟染是否可以做到這一點?

非常感謝您的幫助! :)

回答

2

使用方法1)你會失去所有的矢量信息,並最終有效地與位圖。結果通常會更大(在磁盤空間方面)並且在縮放時會導致質量下降。

所以方法2)顯然更好。 Batik實現了SVG DOM,因此單個文檔的操作不應該困難。

+0

感謝您的回覆!你偶然知道如何開始在svg內的特定位置繪圖嗎?像「goto」命令一樣。根據他們在最終svg圖片中的位置,我可能不得不根據小svgs中的座標來計算座標,對吧? – user1582432

+0

SVG支持轉換(如縮放,旋轉,平移等),因此您不需要更改子圖片中的座標。我不確定你是否可以完全不變地使用它們或者必須做一些解開。有關詳細信息,請查看SVG規範。 – Henry