Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从java中的许多小SVG文件创建SVG文件_Java_Svg_Javafx 2_Batik - Fatal编程技术网

从java中的许多小SVG文件创建SVG文件

从java中的许多小SVG文件创建SVG文件,java,svg,javafx-2,batik,Java,Svg,Javafx 2,Batik,我目前正在使用JavaFX2.2和蜡染。我有一个带有窗格的应用程序,您可以在其中拖动多个SVG图片。 这一切都解决了,每个图片的svg代码存储在每个对象中,所以我也可以得到它 不过,现在我想拍摄这个窗格及其当前SVG子级的“屏幕截图”,并将其导出为SVG文件 对我来说,有两种可能性: 1) 使用takeSnapshot()函数将其导出为.png文件,并将其转换为svg 2) 或者从所有小svg文件创建一个新的svg文件,注意每个svg图片对象的位置 后者可能吗?或者有人知道batik是否可以实现

我目前正在使用JavaFX2.2和蜡染。我有一个带有窗格的应用程序,您可以在其中拖动多个SVG图片。 这一切都解决了,每个图片的svg代码存储在每个对象中,所以我也可以得到它

不过,现在我想拍摄这个窗格及其当前SVG子级的“屏幕截图”,并将其导出为SVG文件

对我来说,有两种可能性:

1) 使用takeSnapshot()函数将其导出为.png文件,并将其转换为svg

2) 或者从所有小svg文件创建一个新的svg文件,注意每个svg图片对象的位置

后者可能吗?或者有人知道batik是否可以实现png到svg的转换吗

非常感谢你的帮助!:)

使用方法1)会丢失所有矢量信息,最终得到位图。扩展时,结果通常会更大(就磁盘空间而言)且质量松散


因此,方法2)显然更好。Batik实现了SVG DOM,所以操作单个文档应该不会太困难。

谢谢您的回复!您是否碰巧知道如何在svg中的特定位置开始绘图?就像一个“转到”命令。可能我必须根据小svg在最终svg图片中的位置来确定它们的坐标,对吗?svg支持变换(如缩放、旋转、平移等),因此不需要更改子图片中的坐标。我不知道你是否可以使用它们完全不变,或必须做一些拆封。有关详细信息,请查看SVG规范。