Я попытался следующий код, чтобы выполнить задачу чтения и записи TIFF изображений:Чтение и запись из TIFF изображения в Java
// Define the source and destination file names.
String inputFile = /images/FarmHouse.tif
String outputFile = /images/FarmHouse.bmp
// Load the input image.
RenderedOp src = JAI.create("fileload", inputFile);
// Encode the file as a BMP image.
FileOutputStream stream =
new FileOutputStream(outputFile);
JAI.create("encode", src, stream, BMP, null);
// Store the image in the BMP format.
JAI.create("filestore", src, outputFile, BMP, null);
Однако, когда я запускаю код, я получаю следующее сообщение об ошибке:
Caused by: java.lang.IllegalArgumentException: Only images with either 1 or 3 bands
can be written out as BMP files.
at com.sun.media.jai.codecimpl.BMPImageEncoder.encode(BMPImageEncoder.java:123)
at com.sun.media.jai.opimage.EncodeRIF.create(EncodeRIF.java:79)
Любая идея, как я мог бы решить эту проблему?
"ImageIO.write (изображение, "ВМР", новый файл (файл_вывод))" жесток не позволяющий успешно записывать изображение в виде файла «.bmp». когда вместо этого меняю код на «.tiff», тогда он будет работать. – user224270
извините ... была небольшая опечатка. Теперь ImageIO.write должен выписывать convertImage, а не исходное изображение. – Jeff
Спасибо, Джефф. это сработало! вы действительно спасли мой день;) – user224270