import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.awt.image.RenderedImage;
import java.awt.image.renderable.ParameterBlock;
import java.awt.image.renderable.RenderableImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.imageio.ImageIO;
import javax.media.jai.JAI;
import javax.media.jai.ParameterBlockJAI;
import javax.media.jai.PlanarImage;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import com.sun.media.jai.codec.ImageCodec;
import com.sun.media.jai.codec.ImageDecoder;
import com.sun.media.jai.codec.ImageEncoder;
import com.sun.media.jai.codec.JPEGDecodeParam;
import com.sun.media.jai.codec.JPEGEncodeParam;
import com.sun.media.jai.codec.TIFFDecodeParam;
import com.sun.media.jai.codec.TIFFEncodeParam;
public class ImageWaterMark {
/**
* 图片类型-JPEG
*/
public final static int IMG_TYPE_JPEG = 0;
/**
* 图片类型-TIFF
*/
public final static int IMG_TYPE_TIFF = 1;
/**
* 转换图片文件格式为TIFF
* @param srcFile File 要转换格式的原文件
* @param resFile File 转换格式后的目标文件
* @param preType int 原文件的格式,目前只支持JPEG格式-0
* @throws IOException 抛出IO异常
*/
public static void convertImageToTIFF(File srcFile,File resFile,int preType) throws IOException {
if(preType == IMG_TYPE_TIFF) {
System.out.println("Needn't to convert!");
return;
}
InputStream fis = new FileInputStream(srcFile);
OutputStream fos = new FileOutputStream(resFile);
TIFFEncodeParam encodeParam = new TIFFEncodeParam();
encodeParam.setCompression(TIFFEncodeParam.COMPRESSION_DEFLATE);
switch(preType) {
case IMG_TYPE_JPEG:
JPEGDecodeParam decodeParam = new JPEGDecodeParam();
ImageDecoder decoder = ImageCodec.createImageDecoder("JPEG",fis,decodeParam);
RenderedImage image = decoder.decodeAsRenderedImage();
ImageEncoder encoder = ImageCodec.createImageEncoder("TIFF"