如何从Graphics2D捕获图形基元到SVG
我需要从调用java.awt.Graphics2D捕获图形基元。 调用是通过开源工具包(Apache的PDFBox)进行的,通常在JPanel中呈现。 我想拦截这些调用并将它们转换为SVG,这样我就可以构建一个非图形数据模型(例如表格,图形等)。 在这个阶段,我会为任何类型的黑客感到高兴,其中可能包括:
- 用MyGraphics2D替换Graphics2D库
- 找到支持SVG输出并捕获它的Graphics2D
- 拦截对Graphics2D的调用(我不喜欢因为我必须管理仿射变换)
附属问题:Graphics2D是否使用图形库? 在这种情况下,如果我在此级别捕获,则应该应用转换。
我将看一下Batik项目,该项目提供了Graphics2D的扩展以输出SVG文件。
JFreeSVG是另一个需要考虑的选项,它提供了Graphics2D API的快速轻量级实现。