加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

JAVA:SVG到JPG转换器

发布时间:2020-12-15 04:08:05 所属栏目:Java 来源:网络整理
导读:有什么库可以将SVG转换为JPG吗?除了BATIK? 我使用了BATIK,但我发现了一些像这个例外的问题: java.lang.NullPointerException at org.apache.batik.css.engine.CSSEngine.getCascadedStyleMap(CSSEngine.java:684) at org.apache.batik.css.engine.CSSEngi
有什么库可以将SVG转换为JPG吗?除了BATIK?
我使用了BATIK,但我发现了一些像这个例外的问题:

java.lang.NullPointerException
at org.apache.batik.css.engine.CSSEngine.getCascadedStyleMap(CSSEngine.java:684)
at org.apache.batik.css.engine.CSSEngine.getComputedStyle(CSSEngine.java:755)
at org.apache.batik.bridge.CSSUtilities.getComputedStyle(CSSUtilities.java:96)
at org.apache.batik.bridge.CSSUtilities.convertDisplay(CSSUtilities.java:509)
at org.apache.batik.bridge.GVTBuilder.buildGraphicsNode(GVTBuilder.java:176)
at org.apache.batik.bridge.GVTBuilder.buildComposite(GVTBuilder.java:148)
at org.apache.batik.bridge.GVTBuilder.build(GVTBuilder.java:76)
at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:165)
at org.apache.batik.transcoder.image.ImageTranscoder.transcode(ImageTranscoder.java:86)
at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:132)

这是我的代码:

JPEGTranscoder transcoder = new JPEGTranscoder();

      transcoder.addTranscodingHint(JPEGTranscoder.KEY_XML_PARSER_CLASSNAME,"org.apache.crimson.parser.XMLReaderImpl");
      transcoder.addTranscodingHint(JPEGTranscoder.KEY_QUALITY,new Float(1.0));

      TranscoderInput input = new TranscoderInput(new FileInputStream("C:/Taha/SmartPlannerNew/rectangles.svg"));
      OutputStream ostream = new FileOutputStream("C:/Taha/SmartPlannerNew/out.jpg");
      TranscoderOutput output = new TranscoderOutput(ostream);

      try {
        transcoder.transcode(input,output);
    } catch (TranscoderException e) { 
        System.out.println("error***************************************************************************************************************************");
        e.printStackTrace();
    }
      System.out.println("done.");
      ostream.close();
      System.exit(0);

有人可以帮我吗?

解决方法

蜡染正是你所寻找的,是完全稳定的,而且真的没有别的.

您可以阅读有关使用蜡染的转码器部分的方便的官方教程:
http://xmlgraphics.apache.org/batik/using/transcoder.html

如果您仍然遇到问题,请尝试发布导致错误的代码以及完整的堆栈跟踪.有人在这里可以帮到你.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读