我需要將tiff文件轉換爲BufferedImage。我寫了下面的代碼:將tiff轉換爲緩衝圖像(Java)
String filepath = "C:\\tiffFolder\\";
String filename = "myTiffImage.tif";
File myFile = new File (filepath + filename);
BufferedImage img = ImageIO.read(myFile);
我知道肯定MYFILE是正確實例:問題是,代碼IMG的第四行之後仍然無效。
我在做什麼錯? 非常感謝!
編輯
解決了,我用下面的代碼:
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();
是什麼myFile.canRead()返回? [3線和4之間] – Burkhard
@Burkhard,它返回true –
@DanieleMilani檢查哪些呢下面一行打印出:'的System.out.println(Arrays.toString(ImageIO.getReaderFileSuffixes()));'在我的機器它是'[bmp,jpg,jpeg,wbmp,png,gif]'。沒有'tif'。 – johnchen902