亲,原生JDK中是没有引入处理Tiff格式的API。Jre:1.6.0_30
========================= OS supports reader ========================
OS supports reader format name : [BMP, bmp, jpg, JPG, wbmp, jpeg, png, PNG, JPEG, WBMP, GIF, gif]
OS supports reader suffix name : [bmp, jpg, wbmp, jpeg, png, gif]
OS supports reader MIME type : [image/png, image/jpeg, image/x-png, image/vnd.wap.wbmp, image/gif, image/bmp]
========================= OS supports writer ========================
OS supports writer format name : [BMP, bmp, jpg, JPG, wbmp, jpeg, png, PNG, JPEG, WBMP, GIF, gif]
OS supports writer suffix name : [bmp, jpg, wbmp, jpeg, png, gif]
OS supports writer MIME type : [image/png, image/jpeg, image/x-png, image/vnd.wap.wbmp, image/bmp, image/gif]
但是JAI API是提供了支持的,你引入JAI之后就会这样了 ~
[raw, tif, jpeg, JFIF, WBMP, jpeg-lossless, jpeg-ls, PNM, JPG, wbmp, PNG, JPEG, jpeg 2000, tiff, BMP, JPEG2000, RAW, JPEG-LOSSLESS, jpeg2000, GIF, TIF, TIFF, bmp, jpg, pnm, png, jfif, JPEG 2000, gif, JPEG-LS]
具体处理流程大致如下:
TIFFImageWriterSpi tiffws=new TIFFImageWriterSpi();
ImageWriter writer=tiffws.createWriterInstance();
ImageWriteParam param=writer.getDefaultWriteParam();
param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
param.setCompressionType("CCITT T.6");
param.setCompressionQuality(0.8f);
ImageOutputStream ios=ImageIO.createImageOutputStream(new File("D:/andy/1.tiff"));
writer.setOutput(ios);
BufferImage srcImage = ImageIO.read(new File("D:/andy/2.tiff"));;
writer.write(null,new IIOImage(srcImage, null, null), param);
2012年8月10日 09:25
466
0
0
8