码迷,mamicode.com
首页 > 编程语言 > 详细

java生成缩略图

时间:2015-01-15 15:44:07      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:

@author gzkui

@date 2015/1/15

@ 朋友圈项目

package qflag.ucstar.plugin.ucmbfriends.utils;

import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import javax.imageio.ImageIO;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

public class UcmImagechangetest {
	public static void main(String[] args) throws Exception {
		FileOutputStream fileOutputStream = null;
		JPEGImageEncoder encoder = null;
		BufferedImage tagImage = null;
		Image srcImage = null;
		String dstImageFileName = "E:\\sss\\sgseg.jpeg";
		File imBig = new File("C:\\Users\\gzkui\\Desktop\\0019d18398280c9fb6020a.jpg");
		if (imBig.exists() && imBig.isFile()) {
			srcImage = ImageIO.read(imBig);
			int srcWidth = srcImage.getWidth(null);// 原图片宽度
			int srcHeight = srcImage.getHeight(null);// 原图片高度
			int dstMaxSize = 120;// 目标缩略图的最大宽度/高度,宽度与高度将按比例缩写
			int dstWidth = srcWidth;// 缩略图宽度
			int dstHeight = srcHeight;// 缩略图高度
			float scale = 0;
			 if(srcWidth>dstMaxSize){
	                dstWidth = dstMaxSize;
	                scale = (float)srcWidth/(float)dstMaxSize;
	                dstHeight = Math.round((float)srcHeight/scale);
	            }
	            srcHeight = dstHeight;
	            if(srcHeight>dstMaxSize){
	                dstHeight = dstMaxSize;
	                scale = (float)srcHeight/(float)dstMaxSize;
	                dstWidth = Math.round((float)dstWidth/scale);
	            }
	            //生成缩略图
	            tagImage = new BufferedImage(dstWidth,dstHeight,BufferedImage.TYPE_INT_RGB);
	            tagImage.getGraphics().drawImage(srcImage,0,0,dstWidth,dstHeight,null);
	            fileOutputStream = new FileOutputStream(dstImageFileName);
	            encoder = JPEGCodec.createJPEGEncoder(fileOutputStream);
	            encoder.encode(tagImage);
	            fileOutputStream.close();
	            fileOutputStream = null;
	            if(fileOutputStream!=null){
	                try{
	                    fileOutputStream.close();
	                }catch(Exception e){
	                }
	                fileOutputStream = null;
	            }
	            encoder = null;
	            tagImage = null;
	            srcImage = null;
	            System.gc();
			return;
		}
		System.out.println("文件未找到");
	}

}

 

java生成缩略图

标签:

原文地址:http://www.cnblogs.com/kimobolo/p/4226374.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!