【问题标题】:JAVA: SVG to JPG converterJAVA:SVG 到 JPG 转换器
【发布时间】:2013-02-21 18:16:19
【问题描述】:

是否有任何库可以将 SVG 转换为 JPG ?除了 BATIK 吗? 我使用了 BATIK 但我发现了一些问题,比如这个异常:

java.lang.NullPointerException 在 org.apache.batik.css.engine.CSSEngine.getCascadedStyleMap(CSSEngine.java:684) 在 org.apache.batik.css.engine.CSSEngine.getComputedStyle(CSSEngine.java:755) 在 org.apache.batik.bridge.CSSUtilities.getComputedStyle(CSSUtilities.java:96) 在 org.apache.batik.bridge.CSSUtilities.convertDisplay(CSSUtilities.java:509) 在 org.apache.batik.bridge.GVTBuilder.buildGraphicsNode(GVTBuilder.java:176) 在 org.apache.batik.bridge.GVTBuilder.buildComposite(GVTBuilder.java:148) 在 org.apache.batik.bridge.GVTBuilder.build(GVTBuilder.java:76) 在 org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:165) 在 org.apache.batik.transcoder.image.ImageTranscoder.transcode(ImageTranscoder.java:86) 在 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);

谁能帮帮我?

【问题讨论】:

标签: java svg png converter batik


【解决方案1】:

Batik 正是您正在寻找的,完全稳定,而且真的没有太多其他东西。

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

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

【讨论】:

  • 有时 JAR 文件可能是一团糟。将来,您可能会看到像 Apache Maven 这样的托管构建系统,或者像 Apache Ivy 这样的依赖管理器。
【解决方案2】:

我的错误是我使用了不同版本的 jar 文件我删除了所有的 jar 并从同一个下载了一组新的 jar

【讨论】:

  • 我在从输入转码到输出时也得到NullPointerException,调试API我发现只有batik-transcoder jar 是不够的,我需要添加batik-codec jar 来修复跨度>
猜你喜欢
  • 2013-11-17
  • 1970-01-01
  • 1970-01-01
  • 2010-12-11
  • 2012-04-03
  • 1970-01-01
  • 2011-06-21
  • 1970-01-01
  • 2016-09-17
相关资源
最近更新 更多