我正在使用Java和SVG Salamander,但无法完全了解如何将简单的SVG文件呈现为JPanel
。
有人可以给我一个简短的例子吗?试图遵循官方网站上的松散教程,但找不到简单的代码来更好地理解。
答案 0 :(得分:6)
首先,您需要以某种方式创建图表(com.kitfox.svg.SVGDiagram)。
File f = new File(mysvgfile);
SVGUniverse svgUniverse = new SVGUniverse();
SVGDiagram diagram = svgUniverse.getDiagram(svgUniverse.loadSVG(f.toURL()));
现在,当您想要渲染文件时 - 通常来自面板的paintComponent()方法 - 您只需要做(使用g
作为Graphics2D实例):
diagram.render(g);
并且(像往常一样?),如果你想以一些修改过的方式绘制它:
AffineTransform oldTransform = g.getTransform();
g.scale(...);
g.translate(...);
...
diagram.render(g);
g.setTransform(oldTransform);
答案 1 :(得分:3)