JAVA:SVG到JPG转换器

时间:2013-03-06 19:20:39

标签: java svg png converter batik

有没有库将 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)       at 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)       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);

任何人都能帮帮我吗?

2 个答案:

答案 0 :(得分:5)

蜡染正是您所寻找的,完全稳定,而且确实没有其他的东西。

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

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

答案 1 :(得分:2)

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