11

tiff ファイルを BufferedImage に変換する必要があります。次のコードを書きました。

String filepath = "C:\\tiffFolder\\";
String filename = "myTiffImage.tif";
File myFile = new File (filepath + filename); 
BufferedImage img = ImageIO.read(myFile);

myFile が正しくインスタンス化されていることは確かです。問題は、コード img の 4 行目以降が 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();
4

1 に答える 1

7

ImageIO でサポートされていないファイル形式を読み込もうとしています。

johnchen902 が指摘したように、サポートされてImageIO.getReaderFileSuffixes()いるサフィックスのリストを返します。tiff はそのリストにありません。だから、そのように読むことはできません。一部の外部ライブラリが役立つ場合があります。例: Java Advanced Imaging API は TIFF をサポートします。詳細はこちら

于 2013-07-08T10:19:15.260 に答える