产生缩略图

阅读更多
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();

	       }
	}
	
}
 

 

你可能感兴趣的:(F#)