Potrzebuję przekonwertować plik tiff na obraz BufferedImage. I napisał następujący kod:Konwertuj tiff na buforowany obraz (Java)
String filepath = "C:\\tiffFolder\\";
String filename = "myTiffImage.tif";
File myFile = new File (filepath + filename);
BufferedImage img = ImageIO.read(myFile);
wiem na pewno myfile jest prawidłowo instancję: Problem polega na tym, że po czwartym wierszu kodu IMG jest nadal puste.
Co robię źle? Dziękuję bardzo!
Edit
rozwiązany, używałem następujący kod:
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();
Co zwraca myFile.canRead()? [między wierszami 3 i 4] – Burkhard
@Burkhard, zwraca true –
@ DanieleMilani Sprawdź, co wypisuje następująca linia: 'System.out.println (Arrays.toString (ImageIO.getReaderFileSuffixes()));' Na mojej maszynie to to '[bmp, jpg, jpeg, wbmp, png, gif]'. Brak 'tif'. – johnchen902