读书人

发生缩略图

发布时间: 2012-10-26 10:30:58 作者: rapoo

产生缩略图

import java.awt.Image;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;public class Thumbnail {/* * 功能:产生缩略图 * 日期:2011-06-05 * */public static void main(String args[]) {// TODO Auto-generated method stub       String path = "F:/Documents and Settings/Administrator/桌面/容祖儿.jpg";       /*创建File对象*/       File file = new File(path);       /*读入图像文件 得到Bufferedimage对象*/       BufferedImage src = null;       try {           src = javax.imageio.ImageIO.read(file);       } catch (IOException e1) {           // TODO Auto-generated catch block           e1.printStackTrace();           return;       }            //得到源图宽       int width = src.getWidth(null);        //得到源图长       int height = src.getHeight(null);         /*可以打印出原始图像的高度和长度 看一看*/         System.out.println("宽=" + width + "\n高=" + height);       /*获得缩略图 返回一个100*100的Image对象*/       Image image = src.getScaledInstance(100, 100, Image.SCALE_DEFAULT);       /*再创建一个BufferedImage对象 用于创建100*100大小的图像*/       BufferedImage oimage;       oimage = new BufferedImage(100, 100, Image.SCALE_DEFAULT);       /*获取图像上下文对象,然后把刚才的Image对象画到BufferedImage中去         切忌, drawImage()方法有很多重载方法,一定要选用下面的这个,它会         95%的复制原图的图片质量。其他重载方法你也可以试试,可能生成出来的         图片很丑噢~哈哈        */       oimage.getGraphics().drawImage(image, 0, 0, null);       /*最后把图片以JPED写入*/       File ifile = new File("F:/Documents and Settings/Administrator/桌面/容祖儿1.jpg");       try {           ImageIO.write(oimage, "jpeg", ifile);       } catch (IOException e) {           // TODO Auto-generated catch block           e.printStackTrace();       }}}
?

?

读书人网 >编程

热点推荐