简体   繁体   English

从 .tiff 文件创建 BufferedImage

[英]Creating a BufferedImage from .tiff file

I'm trying to created a BufferedImage from a.tiff file (raw() is the path of a.tiff image):我正在尝试从 a.tiff 文件创建一个 BufferedImage(raw() 是 a.tiff 图像的路径):

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

Originally ImageIO.read was returning null but I read that I need to add the JAI ImageIO JARs to your classpath, which I did.最初 ImageIO.read 返回 null 但我读到我需要将 JAI ImageIO JARs 添加到您的类路径中,我这样做了。 Now I'm getting the following error:现在我收到以下错误:

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)
....

Does anyone know what could be the problem?有谁知道可能是什么问题? Am I doing something incorrectly?我做错了什么吗?

Thanks!谢谢!

I was also facing same problem.我也面临同样的问题。 I was trying to get BufferedImage from tiff byte[] but was getting null as result.我试图从 tiff byte[] 获取 BufferedImage ,但结果是 null 。

I have commented one line from Tomcat's server.xml file which is related to JreMemoryLeaks.我已经从与 JreMemoryLeaks 相关的 Tomcat 的 server.xml 文件中注释了一行。 Just comment this line:只需评论这一行:

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

This solution worked for me.这个解决方案对我有用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM