【问题标题】:How to get SVGDocument object from an SVG string?如何从 SVG 字符串中获取 SVGDocument 对象?
【发布时间】:2019-10-06 13:32:42
【问题描述】:

我会得到一个 SVGDocument 对象来填充到 JSVGCanvas 中,但是我只有一个没有任何文件的 SVG 字符串,所以我不能使用 URI 来构造。

【问题讨论】:

    标签: java svg batik


    【解决方案1】:

    您可以像这样从 StringReader 读取您的 SVG:

    StringReader reader = new StringReader(svgString);
    String uri = "file:make-something-up";
    String parser = XMLResourceDescriptor.getXMLParserClassName();
    SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser);
    SVGDocument doc = f.createSVGDocument(uri, reader);
    

    您需要组成一个有效的 URI,但这并不重要,除非您从 SVG 中对其他 URI 进行相对引用。

    【讨论】:

    • 为什么需要一个有效的 URI?我可以让所有的事情都在内存中执行吗?
    • API 需要它 - 有效意味着它可以被解析。它不必存在
    猜你喜欢
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-14
    • 2013-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多