在画布上显示svg

Gia*_*kis 5 java svg canvas batik

我想在画布上相应地显示一些图像到屏幕尺寸而不会丢失图像分辨率.

如果我使用简单的png或jpeg,我会看到在大屏幕上像素化的图像.

我在想的是使用svg文件并在janvas上显示它们.有可能吗?(我尝试使用Apache Batik而没有可能的结果)

如果这是不可能的,你能想到其他任何选择吗?

Jor*_*lla 4

Apache CommonsBatik Swing component包含特殊的画布JSVGCanvas。这是您能找到的最佳方法。

组件模块的目标Batik Swing是提供一个Swing可以用来显示SVG文档的组件。使用该类JSVGCanvas,您可以轻松地显示 SVG 文档(来自 URI 或 DOM 树)并允许用户对其进行操作,例如旋转、缩放、平移、选择文本或激活超链接。


我尝试使用 Apache Batik 但没有得到积极的结果

有什么问题可以与我们分享吗?您将在此处此处找到如何实施它。

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");
}
Run Code Online (Sandbox Code Playgroud)