Ich habe versucht, den folgenden Code die Aufgabe des Lesens und Schreibens TIFF-Bilder zu erreichen:Lesen und TIFF-Bild Schreiben heraus in 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);
Allerdings, wenn ich den Code ausführen, bekomme ich folgende Fehlermeldung:
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)
Irgendeine Idee, wie ich dieses Problem lösen könnte?
"ImageIO.write (Bild, "bmp", neue Datei (output))" ist steif nicht Schreiben in der Lage, das Bild erfolgreich als ".bmp" -Datei zu schreiben. Wenn ich den Code stattdessen in ".tiff" ändere, wird es funktionieren. – user224270
Entschuldigung ... es gab einen kleinen Tippfehler. Das ImageIO.write sollte nun das konvertierte Bild und nicht das Originalbild ausgeben. – Jeff
Danke Jeff. es funktionierte! Sie haben wirklich meinen Tag gerettet;) – user224270