我执行以下步骤:
TIFFEncodeParam tep = new TIFFEncodeParam();
tep.setCompression(TIFFEncodeParam.COMPRESSION_JPEG_TTN2);
BufferedImage buff = new BufferedImage(newimage.getWidth(null),
newimage.getHeight(null),
BufferedImage.TYPE_BYTE_BINARY);
//newimage is an awt image
buff.createGraphics().drawImage(newimage, 0,0,null);
ParameterBlock outPB = new ParameterBlock();
outPB.addSource(buff);
outPB.add("myjpegfile.jpg");
outPB.add("tiff");
outPB.add(tep);
PlanarImage outPI = JAI.create("filestore",outPB);
在这里我得到:java.lang.Error: JPEG-in-TIFF encoding 仅支持 8 位样本和每个像素 1 个(灰度)或 3 个(RGB 或 YCbCr)样本。
这是因为我需要在 jpeg 文件中对单色图像进行最大压缩。我可以写 tiff (24Kb) 和 jpeg (212Kb)(A4 页面大小 200dpi BW),但 jpeg 太大了。
这个错误是什么意思?什么是 8 位样本?
谢谢。