Windows中的Batik URL异常

时间:2017-06-14 05:54:21

标签: java windows svg batik

我正在研究这个程序,它做了一些手动解析和更改svg文件,我只使用Batik来创建有问题的SVG文件的预览。

它应该读取目录中的所有SVG文件,并显示我正在使用Batik的图像以及我在网上找到的这个转码器类,这是前一段时间对另一个程序的建议:

public class BufferedImageTranscoder extends ImageTranscoder {
        private BufferedImage image = null;     
        @Override
        public BufferedImage createImage(int weight, int height)
        {
            return new BufferedImage(weight, height, BufferedImage.TYPE_INT_ARGB);
        }   
        @Override
        public void writeImage(BufferedImage image, TranscoderOutput output) throws TranscoderException
        {
            this.image = image;
        }
        public BufferedImage getBufferedImage()
        {
            return image;
        }

        public static BufferedImage loadImage(File svgFile, float width, float height) {
            BufferedImageTranscoder imageTranscoder = new BufferedImageTranscoder();
            imageTranscoder.addTranscodingHint(PNGTranscoder.KEY_WIDTH, width);
            imageTranscoder.addTranscodingHint(PNGTranscoder.KEY_HEIGHT, height);
            try {
                String path = svgFile.getCanonicalPath();
                System.out.println(path);
                TranscoderInput input = new TranscoderInput(path);
                if(input != null)
                    imageTranscoder.transcode(input, null);
            } catch (TranscoderException e) {
                e.printStackTrace();
                return null;
            } catch (IOException e) {
                e.printStackTrace();
                return null;
            }
            return imageTranscoder.getBufferedImage();
        }
}

在macOS上,这个程序似乎运行得很好,没有问题,但是当我在Windows中将项目加载到Eclipse时,我得到了这个例外:

  

附上例外:无法理解连接的URL   org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:136)     在   org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:156)

知道导致这种情况的原因以及如何解决这个问题吗?

0 个答案:

没有答案