显示图像 Batik JSVGCanvas
Display image Batik JSVGCanvas
我正在尝试使用 Batik
在 JSVGCanvas
中显示 SVG file
。在这个 SVG 文件中有一个图像。问题是图像没有显示。而不是我得到一个错误图像。这是我的代码:
SVG 文件
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<image x="0" y="0" width="150" xlink:href="C:\Absolute\path\to\image" xlink:type="src" height="150" />
</svg>
JAVA代码
File file = new File("C:/absolute/Path/To/File");
String url = null;
try {
url = file.toURL().toString();
} catch (MalformedURLException e) {
e.printStackTrace();
}
System.out.println(url);
JSVGCanvas canvas = new JSVGCanvas();
canvas.setEnableImageZoomInteractor(true);
canvas.setSize(500,500);
canvas.setURI(url);
JFrame f = new JFrame("Batik Graphics");
f.getContentPane().add(canvas);
f.pack();
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
注意
如果使用浏览器打开 SVG 文件,图像会正确显示。
C:\Absolute\path\to\image 不是有效的 href。我猜你想要 file:///Absolute/path/to/image 而不是。
我正在尝试使用 Batik
在 JSVGCanvas
中显示 SVG file
。在这个 SVG 文件中有一个图像。问题是图像没有显示。而不是我得到一个错误图像。这是我的代码:
SVG 文件
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<image x="0" y="0" width="150" xlink:href="C:\Absolute\path\to\image" xlink:type="src" height="150" />
</svg>
JAVA代码
File file = new File("C:/absolute/Path/To/File");
String url = null;
try {
url = file.toURL().toString();
} catch (MalformedURLException e) {
e.printStackTrace();
}
System.out.println(url);
JSVGCanvas canvas = new JSVGCanvas();
canvas.setEnableImageZoomInteractor(true);
canvas.setSize(500,500);
canvas.setURI(url);
JFrame f = new JFrame("Batik Graphics");
f.getContentPane().add(canvas);
f.pack();
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
注意 如果使用浏览器打开 SVG 文件,图像会正确显示。
C:\Absolute\path\to\image 不是有效的 href。我猜你想要 file:///Absolute/path/to/image 而不是。