Ho bisogno di convertire un file tiff in una BufferedImage. Ho scritto il seguente codice:Converti un tiff in un'immagine bufferizzata (Java)
String filepath = "C:\\tiffFolder\\";
String filename = "myTiffImage.tif";
File myFile = new File (filepath + filename);
BufferedImage img = ImageIO.read(myFile);
che so per certo è istanziato myFile correttamente: il problema è che dopo la quarta riga di codice IMG è ancora nulla.
Cosa sto sbagliando? Grazie mille!
Modifica
risolto, ho usato il seguente codice:
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();
Cosa restituisce myFile.canRead()? [tra le righe 3 e 4] – Burkhard
@Burkhard, restituisce true –
@DanieleMilani Controlla cosa stampa la seguente riga: 'System.out.println (Arrays.toString (ImageIO.getReaderFileSuffixes()));' Sulla mia macchina è '[bmp, jpg, jpeg, wbmp, png, gif]'. Nessun 'tif'. – johnchen902