Answers
Hi,
Could you find any method to change the tiff image compression or even resolution.
When i try this,
String filename="c:\\sample1.tif";
File file = new File(filename);
SeekableStream s = new FileSeekableStream(file);
ImageDecoder dec = ImageCodec.createImageDecoder("TIFF", s, null);
//RenderedImage op = new NullOpImage(dec.decodeAsRenderedImage(), null,null, OpImage.OP_COMPUTE_BOUND);
RenderedImage op = new NullOpImage(dec.decodeAsRenderedImage(0),null,null,OpImage.OP_IO_BOUND);
ByteArrayOutputStream output = new ByteArrayOutputStream();
TIFFEncodeParam tp=new TIFFEncodeParam();
tp.setCompression(TIFFEncodeParam.COMPRESSION_GROUP4);
//tp.setCompression(TIFFEncodeParam.COMPRESSION_GROUP3_2D);
ImageEncoder encoder = ImageCodec.createImageEncoder("TIFF", output, tp);
encoder.encode(op);
encoder.setParam(tp);
System.out.println(tp.getCompression());
byte compressedData[] = output.toByteArray();
FileOutputStream fouts=new FileOutputStream("c:\\sample2.tif");
fouts.write(compressedData);
output.close();
fouts.close();
It's giving errro saying that "End of data reached before next EOL encountered" when i call encoder.encode(op);
method..
any suggestions?????
Read other 5 answers