【问题标题】:Display image Batik JSVGCanvas显示图像 Batik JSVGCanvas
【发布时间】:2017-07-06 17:17:06
【问题描述】:

我正在尝试使用BatikJSVGCanvas 中显示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 文件,则图像显示正确。

【问题讨论】:

  • 这个我也试过了,还是不行
  • 好的,我明白了。我写了 file:///Absolute/path/to/image (3 个斜杠而不是 2 个)并且它正在工作。非常感谢您的提示!

标签: java canvas svg batik


【解决方案1】:

C:\Absolute\path\to\image 不是有效的 href。我猜你想要 file:///Absolute/path/to/image 代替。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    • 1970-01-01
    • 2011-05-30
    相关资源
    最近更新 更多