import com.sun.image.codec.jpeg.*;
import java.awt.image.*;
import java.awt.*;
import java.net.*;
import java.applet.*;
import java.io.*;
import java.util.*;......
//------------生成缩略图------------------//
BufferedImage image;
Image img=null;
Toolkit tk=Toolkit.getDefaultToolkit();
Applet app=new Applet();
MediaTracker mt = new MediaTracker(app);
img=tk.getImage(request.getRealPath("")+"\\uploadfile\\"+fileName);//获取原始图
mt.addImage(img, 0);
mt.waitForID(0);
double rate1=((double)img.getWidth(null))/120.0+0.1;
double rate2=((double)img.getHeight(null))/120.0+0.1;
double rate=rate1>rate2?rate1:rate2;
int new_w=(int)(((double)img.getWidth(null))/rate);
int new_h=(int)(((double)img.getHeight(null))/rate);
BufferedImage buffImg = new BufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB);
Graphics g = buffImg.createGraphics();
g.setColor(Color.white);
g.fillRect(0,0,new_w,new_h);
g.drawImage(img,0,0,new_w,new_h,null);//绘制缩略图
g.dispose();
java.io.OutputStream tempout=null;
java.io.File tempfile=new java.io.File(request.getRealPath("")+"\\uploadfile\\"+fileName+"_small.jpg");
tempout= new FileOutputStream(tempfile);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(tempout);
encoder.encode(buffImg);
if(tempout!=null)tempout.close();
//------------缩略图生成完毕----------------//
......
import java.awt.image.*;
import java.awt.*;
import java.net.*;
import java.applet.*;
import java.io.*;
import java.util.*;......
//------------生成缩略图------------------//
BufferedImage image;
Image img=null;
Toolkit tk=Toolkit.getDefaultToolkit();
Applet app=new Applet();
MediaTracker mt = new MediaTracker(app);
img=tk.getImage(request.getRealPath("")+"\\uploadfile\\"+fileName);//获取原始图
mt.addImage(img, 0);
mt.waitForID(0);
double rate1=((double)img.getWidth(null))/120.0+0.1;
double rate2=((double)img.getHeight(null))/120.0+0.1;
double rate=rate1>rate2?rate1:rate2;
int new_w=(int)(((double)img.getWidth(null))/rate);
int new_h=(int)(((double)img.getHeight(null))/rate);
BufferedImage buffImg = new BufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB);
Graphics g = buffImg.createGraphics();
g.setColor(Color.white);
g.fillRect(0,0,new_w,new_h);
g.drawImage(img,0,0,new_w,new_h,null);//绘制缩略图
g.dispose();
java.io.OutputStream tempout=null;
java.io.File tempfile=new java.io.File(request.getRealPath("")+"\\uploadfile\\"+fileName+"_small.jpg");
tempout= new FileOutputStream(tempfile);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(tempout);
encoder.encode(buffImg);
if(tempout!=null)tempout.close();
//------------缩略图生成完毕----------------//
......
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货