1、支持jpg、png、gif格式的互转,不支持tif,bmp格式的转换
publicstatic void converter(File imgFile,Stringformat,File formatFile)
throws IOException{
BufferedImage bIMG =ImageIO.read(imgFile);
ImageIO.write(bIMG, format, formatFile);
}
2、tif转jpg 与 //jpg转tif
//tif转jpg
public static void tif2jpeg(InputStream in,OutputStream out){
try{
ImageDecoder decoder =ImageCodec.createImageDecoder("tiff", in, null);
RenderedImage ri = decoder.decodeAsRenderedImage();
JPEGEncodeParam JPEGparam = newJPEGEncodeParam();
JPEGparam.setQuality(Float.MAX_VALUE);
ImageEncoder encoder =ImageCodec.createImageEncoder("jpeg", out,JPEGparam);
encoder.encode(ri);
} catch (IOException e) {
e.printStackTrace();
}
}
//jpg转tif
public static void jpeg2tif(InputStreamin,OutputStream out) {
try{
ImageDecoder decoder =ImageCodec.createImageDecoder("jpeg", in, null);
RenderedImage ri = decoder.decodeAsRenderedImage();
TIFFEncodeParam TIFFparam = new TIFFEncodeParam();
int pixelSize = ri.getColorModel().getPixelSize();
if (1 ==pixelSize) {
TIFFparam.setCompression(TIFFEncodeParam.COMPRESSION_GROUP3_2D);
} else if (8== pixelSize) {
TIFFparam.setCompression(TIFFEncodeParam.COMPRESSION_DEFLATE);
} else if(24 == pixelSize) {
TIFFparam.setCompression(TIFFEncodeParam.COMPRESSION_JPEG_TTN2);
}
ImageEncoder encoder =ImageCodec.createImageEncoder("tiff", out,TIFFparam);
encoder.encode(ri);
} catch (IOException e) {
e.printStackTrace();
}
}