在Java eclipse中阅读Tiff格式

时间:2015-03-17 10:36:46

标签: java tiff

如何使用Java IMAGEIO库读取TIFF图像?(我正在使用Eclipse Luna)..而且一旦我下载了插件(JAR文件),如何给出Classpath以便它可以读取我的输入TIFF图像文件?

2 个答案:

答案 0 :(得分:2)

这是一个将TIFF图像转换为PNG图像的快速示例。

// quick conversion example
File inputFile = new File("image.tiff");
File outputFile = new File("output.png");
BufferedImage image = ImageIO.read(inputFile);
ImageIO.write(image, "png", outputFile);

打印JAI ImageIO库所有支持格式的列表。

import javax.imageio.ImageIO;
...
for (String format : ImageIO.getWriterFormatNames()) {
    System.out.println("format = " + format);
}

note 对于没有内置支持的图像格式的转换,支持库必须位于类路径中。要查找支持的格式,请选中https://docs.oracle.com/javase/tutorial/2d/images/loadimage.html或上面的代码段。

e.g。对于TIFF,您可以使用jai_imageio-1.1.jar(或newer)。

javac -cp jai_imageio-1.1.jar:. Main.java
java -cp jai_imageio-1.1.jar:. Main

如果类路径中没有TIFF格式支持库,则上述转换代码段将失败并显示java.lang.IllegalArgumentException: image == null!

以下格式具有内置支持(Java 8)

BMP
GIF
JPEG
PNG
WBMP

jai_imageio-1.1.jar增加了对

的支持
JPEG2000
PNM
RAW
TIFF

编辑随着时间的推移和Java 9的发布,这是一个小小的更新,因为Java 9现在支持TIFF。

使用Java 9编译并运行,无需额外的库

import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
class TiffToPng {
    public static void main(String[] args) throws Exception {
        File inputFile = new File("image.tiff");
        File outputFile = new File("output.png");
        BufferedImage image = ImageIO.read(inputFile);
        ImageIO.write(image, "png", outputFile);
    }
}

找到支持的ImageReader / ImageWriter格式。您可以在片段之后使用的MIME类型

for (String format : ImageIO.getReaderFormatNames()) {
    System.out.println("format = " + format);
}
...
for (String format : ImageIO.getReaderMIMETypes()) {
    System.out.println("format = " + format);
}


for (String format : ImageIO.getWriterFormatNames()) {
    System.out.println("format = " + format);
}
...
for (String format : ImageIO.getWriterMIMETypes()) {
    System.out.println("format = " + format);
}

答案 1 :(得分:2)

如果出现错误:

java.lang.IllegalArgumentException: image == null!

只需将下面的罐子放进去:-

  • 如果您使用的是eclipse,只需将其添加到引用的库中即可。
  • 如果您仅使用简单的java文件并通过控制台运行它,只需将此jar粘贴到类路径中即可。
  

jai_imageio-1.1.jar |   http://www.java2s.com/Code/JarDownload/jai/jai_imageio-1.1.jar.zip

并导入以下内容:

import com.sun.media.imageio.plugins.tiff.*;