从.tiff文件创建BufferedImage

时间:2011-05-03 19:18:39

标签: java bufferedimage

我正在尝试从.tiff文件创建一个BufferedImage(raw()是.tiff图像的路径):

// read a buffered image from the disk
BufferedImage buff = ImageIO.read(new File(raw()));

最初ImageIO.read返回null但我读到我需要将JAI ImageIO JAR添加到类路径中,我这样做了。现在我收到以下错误:

Exception in thread "main" javax.imageio.IIOException: I/O error reading image metadata!
        at com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
        at com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
        at com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.prepareRead(TIFFImageReader.java:971)
        at com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.read(TIFFImageReader.java:1153)
        at javax.imageio.ImageIO.read(ImageIO.java:1422)
        at javax.imageio.ImageIO.read(ImageIO.java:1282)
        at core.Page.initGuesses(Page.java:101)
....

有谁知道可能是什么问题?我做错了吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我也遇到了同样的问题。我试图从tiff byte []获取BufferedImage,但结果为null。

我在Tomcat的server.xml文件中注释了一行与JreMemoryLeaks相关的行。 请注意这一行:

Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"

这个解决方案对我有用。