我正在使用 SVGSalamander。我的代码加载了一个 svg 图像并将其设置为JDesktopPane
.
File f = new File("awesome_tiger.svg");
SVGUniverse svgUniverse = new SVGUniverse();
try {
SVGDiagram diagram = svgUniverse.getDiagram(svgUniverse.loadSVG(f.toURL()));
try {
diagram.render(g);
}
catch(Exception ex) {System.out.println(ex);}}
catch (Exception ex2) {System.out.println(ex2);}
如何实现图像完全填充窗口/框架并调整大小?
似乎 SVGSalamander 有方法isScaleToFit()
,但我该如何使用它?
我用antiAlias
这个:(g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
这是它在 SVGIcon 和 SVGPanel 类中的编写方式)
编辑:解决了
AffineTransform at = new AffineTransform();
at.setToScale(jdpPane.getWidth()/diagram.getWidth(), jdpPane.getWidth()/diagram.getWidth());
g.transform(at);
diagram.render(g);
按比例缩放