import java.io.File;MrTLinux联盟
import java.awt.image.BufferedImage;MrTLinux联盟
import java.awt.Image;MrTLinux联盟
import java.awt.image.AffineTransformOp;MrTLinux联盟
import javax.imageio.ImageIO;MrTLinux联盟
import java.awt.geom.AffineTransform;
public class UploadImg{
/**MrTLinux联盟
* @param fromdir 图片的原始目录MrTLinux联盟
* @param todir 处理后的图片存放目录MrTLinux联盟
* @param imgfile 原始图片MrTLinux联盟
* @param sysimgfile 处理后的图片文件名前缀MrTLinux联盟
*MrTLinux联盟
*/ MrTLinux联盟
............................ MrTLinux联盟
public boolean CreateThumbnail() throws ExceptionMrTLinux联盟
{MrTLinux联盟
//ext是图片的格式 gif JPG 或pngMrTLinux联盟
String ext="";MrTLinux联盟
double Ratio=0.0;MrTLinux联盟
File F = new File(fromdir,imgfile);MrTLinux联盟
if (!F.isFile())MrTLinux联盟
throw new Exception(F+" is not image file error in CreateThumbnail!");
//首先判断上传的图片是gif还是JPG ImageIO只能将gif转换为pngMrTLinux联盟
if (isJpg(imgfile)){MrTLinux联盟
ext="jpg";MrTLinux联盟
}else{MrTLinux联盟
ext="png"; MrTLinux联盟
}MrTLinux联盟
File ThF = new File(todir,sysimgfile+"."+ext);
BufferedImage Bi = ImageIO.read(F);MrTLinux联盟
//假设图片宽 高 最大为120 120MrTLinux联盟
Image Itemp = Bi.getScaledInstance (120,120,Bi.SCALE_SMOOTH);
if ((Bi.getHeight()>120) || (Bi.getWidth()>120)){MrTLinux联盟
if (Bi.getHeight()>Bi.getWidth())MrTLinux联盟
Ratio = 120.0/Bi.getHeight();MrTLinux联盟
elseMrTLinux联盟
Ratio = 120.0/Bi.getWidth();MrTLinux联盟
}
AffineTransformOp op = new AffineTransformOp(AffineTransform.getScaleInstance
(Ratio, Ratio), null);MrTLinux联盟
Itemp = op.filter(Bi, null);
try {MrTLinux联盟
ImageIO.write((BufferedImage)Itemp, ext, ThF);MrTLinux联盟
}catch (Exception ex) {MrTLinux联盟
throw new Exception(" ImageIo.write error in CreatThum.: "+ex.getMessage()); MrTLinux联盟
}MrTLinux联盟
return (true);MrTLinux联盟
}MrTLinux联盟
}