在Apache Batik中将JPEG图像转换为SVG

时间:2016-06-20 00:41:40

标签: maven svg jpeg batik

我是Apache Batik的新手,想要使用代码转换器https://xmlgraphics.apache.org/batik/using/transcoder.html将JPEG图像转换为SVG图像。

这是我的代码:

public void saveAsSvg() throws Exception {

        SVGTranscoder t = new SVGTranscoder();

        t.addTranscodingHint(SVGTranscoder.KEY_FORMAT, true);

        String svgURI = new File(inputFilePath).toURL().toString();

        InputStream inputStream = new FileInputStream(inputFilePath);
        Reader inputStreamReader = new InputStreamReader(inputStream);
        TranscoderInput input = new TranscoderInput(inputStreamReader);

        OutputStream ostream = new FileOutputStream(outputFilePath);
        Writer outputStreamWriter = new OutputStreamWriter(ostream);
        TranscoderOutput output = new TranscoderOutput(outputStreamWriter);

        t.transcode(input, output);

        ostream.flush();
        ostream.close();
        System.exit(0);
    }

我的pom.xml符合Convert a SVG image to a JPEG image using Apache Batik

<dependency>
    <groupId>org.apache.xmlgraphics</groupId>
    <artifactId>batik-transcoder</artifactId>
    <version>1.7</version>
</dependency>

<dependency>
    <groupId>org.apache.xmlgraphics</groupId>
    <artifactId>batik-codec</artifactId>
    <version>1.7</version>
</dependency>

<dependency>
    <groupId>org.apache.xmlgraphics</groupId>
    <artifactId>xmlgraphics-commons</artifactId>
    <version>2.1</version>
</dependency>

我得到的例外情况如下:

org.apache.batik.transcoder.TranscoderException: element
    at org.apache.batik.transcoder.svg2svg.PrettyPrinter.fatalError(PrettyPrinter.java:1750) ~[batik-transcoder-1.7.jar:1.7+r608262]
    at org.apache.batik.transcoder.svg2svg.PrettyPrinter.print(PrettyPrinter.java:253) ~[batik-transcoder-1.7.jar:1.7+r608262]
    at org.apache.batik.transcoder.svg2svg.SVGTranscoder.prettyPrint(SVGTranscoder.java:230) ~[batik-transcoder-1.7.jar:1.7+r608262]
    at org.apache.batik.transcoder.svg2svg.SVGTranscoder.transcode(SVGTranscoder.java:186) ~[batik-transcoder-1.7.jar:1.7+r608262]
    at com.example.SaveAsJpeg.saveAsSvg(SaveAsJpeg.java:80) ~[classes/:na]

.......

无法从我得到的例外中学到任何东西。请帮忙。

0 个答案:

没有答案