在 canvas 上显示 svg
Display svg on canvas
我想根据屏幕尺寸在 canvas 上显示一些图像而不丢失图像分辨率。
如果我使用简单的 png 或 jpeg,我会在大屏幕上看到像素化的图像。
我想的是用svg文件在janvas上显示出来。这样的事情可能吗? (我尝试使用 Apache Batik 没有得到肯定的结果)
如果这不可能,你能想到其他替代方案吗?
Apache Commons 有 Batik Swing component
containing special canvas JSVGCanvas
。这是您能找到的最佳方法。
The goal of the Batik Swing
component module is to provide a Swing
component that can used to display SVG
documents. With the JSVGCanvas
class, you can easily display an SVG document (from a URI or a DOM tree) and allow the user to manipulate it, such as rotating, zooming, panning, selecting text or activating hyperlinks.
I tried to use Apache Batik without a possitive result
有什么问题可以和我们分享吗? Here and here 你会发现如何实现它。
public SVGCanvasDemo(JFrame frame) {
frame.getContentPane().setLayout(new BorderLayout());
frame.getContentPane().add("Center", svgCanvas);
frame.setVisible(true);
svgCanvas.setURI("file:/c:/files/hungryminds/rectangles.svg");
}
我想根据屏幕尺寸在 canvas 上显示一些图像而不丢失图像分辨率。
如果我使用简单的 png 或 jpeg,我会在大屏幕上看到像素化的图像。
我想的是用svg文件在janvas上显示出来。这样的事情可能吗? (我尝试使用 Apache Batik 没有得到肯定的结果)
如果这不可能,你能想到其他替代方案吗?
Apache Commons 有 Batik Swing component
containing special canvas JSVGCanvas
。这是您能找到的最佳方法。
The goal of the
Batik Swing
component module is to provide aSwing
component that can used to displaySVG
documents. With theJSVGCanvas
class, you can easily display an SVG document (from a URI or a DOM tree) and allow the user to manipulate it, such as rotating, zooming, panning, selecting text or activating hyperlinks.
I tried to use Apache Batik without a possitive result
有什么问题可以和我们分享吗? Here and here 你会发现如何实现它。
public SVGCanvasDemo(JFrame frame) {
frame.getContentPane().setLayout(new BorderLayout());
frame.getContentPane().add("Center", svgCanvas);
frame.setVisible(true);
svgCanvas.setURI("file:/c:/files/hungryminds/rectangles.svg");
}