我需要将一个tiff文件转换为BufferedImage。我编写了下面的代码:
String filepath = "C:\\tiffFolder\\";
String filename = "myTiffImage.tif";
File myFile = new File (filepath + filename);
BufferedImage img = ImageIO.read(myFile);
我确定myFile已正确实例化:问题在于在第四行代码后,img仍然为null。
我做错了什么?非常感谢!
编辑
问题已解决,我使用了以下代码:
FileSeekableStream stream = new FileSeekableStream(filepath + filename);
TIFFDecodeParam decodeParam = new TIFFDecodeParam();
decodeParam.setDecodePaletteAsShorts(true);
ParameterBlock params = new ParameterBlock();
params.add(stream);
RenderedOp image1 = JAI.create("tiff", params);
BufferedImage img = image1.getAsBufferedImage();
System.out.println(Arrays.toString(ImageIO.getReaderFileSuffixes()));
在我的电脑上,它输出的是[bmp, jpg, jpeg, wbmp, png, gif]
,没有tif
。 - johnchen902