【发布时间】:2016-02-25 12:20:15
【问题描述】:
我想根据屏幕尺寸在画布上显示一些图像,而不会丢失图像分辨率。
如果我使用简单的 png 或 jpeg,我会在大屏幕上看到像素化的图像。
我在想的是使用 svg 文件并将它们显示在 janvas 上。这样的事情可能吗? (我尝试使用 Apache Batik 没有得到肯定的结果)
如果这是不可能的,你能想到其他的选择吗?
【问题讨论】:
我想根据屏幕尺寸在画布上显示一些图像,而不会丢失图像分辨率。
如果我使用简单的 png 或 jpeg,我会在大屏幕上看到像素化的图像。
我在想的是使用 svg 文件并将它们显示在 janvas 上。这样的事情可能吗? (我尝试使用 Apache Batik 没有得到肯定的结果)
如果这是不可能的,你能想到其他的选择吗?
【问题讨论】:
Apache Commons 有 Batik Swing component 包含特殊画布 JSVGCanvas。这是您能找到的最佳方法。
Batik Swing组件模块的目标是提供一个Swing组件,该组件可以用于显示SVG文档。使用JSVGCanvas类,您可以轻松地显示 SVG 文档(来自 URI 或 DOM 树)并允许用户对其进行操作,例如旋转、缩放、平移、选择文本或激活超链接。
我尝试使用 Apache Batik 却没有得到肯定的结果
有什么问题可以和我们分享吗? Here 和 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");
}
【讨论】: