2013-01-11 46 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