Ich schreibe ein Java-Programm, um die TIFF-Dateien in separate Bilder zu konvertieren, jedoch kann ich ImageDecoder nicht verwenden, da meine TIFF-Dateien nicht II * enthalten startend, Meine tiff-Datei beginnt mit einem Header und die Bilder beginnen mit II *. Bitte geben Sie an, wie Sie den Header-Teil vor II * in tiff Bildern entfernen. Unten ist der Code, den ich verwende die Bilder zu trennen, jedoch traf ich Ausnahme wie unten aufgrund tiff nicht unter beginnen mit II *So öffnen Sie die TIFF-Datei und entfernen den Header-Teil
Exception in thread "main" java.lang.IllegalArgumentException: Bad endianness tag (not 0x4949 or 0x4d4d).
meine Methode ist es, die Bilder von TIFF seperete.
FileSeekableStream ss = new FileSeekableStream("D:\\Users\\Vinoth\\workspace\\Testing\\Testing.tif");
ImageDecoder dec = ImageCodec.createImageDecoder("tiff", ss, null);
int count = dec.getNumPages();
TIFFEncodeParam param = new TIFFEncodeParam();
param.setLittleEndian(false); // Intel
System.out.println("This TIF has " + count + " image(s)");
for (int i = 0; i < count; i++) {
RenderedImage page = dec.decodeAsRenderedImage(i);
File f = new File("D:\\Users\\Vinoth\\workspace\\Testing\\single_" + i + ".tif");
System.out.println("Saving " + f.getCanonicalPath());
ParameterBlock pb = new ParameterBlock();
pb.addSource(page);
pb.add(f.toString());
pb.add("tiff");
pb.add(param);
RenderedOp r = JAI.create("filestore",pb);
r.dispose();
Und nach drei Versuchen werden Sie es endlich bekommen http://stackoverflow.com/questions/38431971/in-java-exclude-a-string-while-encode-using-base64 http://stackoverflow.com/questions/38380277/split-tiff-files-to-multiple-files http://stackoverflow.com/questions/38418111/unable-to-encode-a-tiff-file-properly-some-characters-are-not-coding – gpasch