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);
比例してスケーリングします