700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Java将svg转化成png_java – 如何将SVG转换成PNG

Java将svg转化成png_java – 如何将SVG转换成PNG

时间:2021-04-24 09:23:44

相关推荐

Java将svg转化成png_java – 如何将SVG转换成PNG

我尝试将svg转换成PNG. svg文档来自作为输入流的服务器.

首先,我将svg流转换成字节数组:

byte[] streamBytes = IOUtils.toByteArray(svgStream);

然后使用以下代码将字节转换为OutputStream(PNG).

private ByteArrayOutputStream svgToPng(byte[] streamBytes)

throws TranscoderException, IOException {

PNGTranscoder t = new PNGTranscoder();

TranscoderInput input = new TranscoderInput(new ByteArrayInputStream(streamBytes));

ByteArrayOutputStream ostream = new ByteArrayOutputStream();

TranscoderOutput output = new TranscoderOutput(ostream);

t.transcode(input, output);

ostream.flush();

// ostream.close();

return ostream;

}

但是我通过“t.transcode(input,output)”获得空指针异常;

org.apache.batik.transcoder.TranscoderException: null

Enclosed Exception:

Premature end of file.

graphdata : null

at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:136)

at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:156)

注意:如果我将svgstream保存在磁盘上,并使用以下代码转换器输入与uri构造函数,那么它将工作.但在我的情况下,我不想保存在磁盘上.

TranscoderInput input = new TranscoderInput(new File("c:/a.svg").toURI().toString());

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。