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

压缩图片大小(Java源码)

时间:2015-11-14 10:58:37      阅读:418      评论:0      收藏:0      [点我收藏+]

标签:

/**
	 * 
	 * 直接指定压缩后的宽高:
	 * @param oldFile
	 * 要进行压缩的文件
	 * @param width
	 * 压缩后的宽度
	 * @param height
	 * 压缩后的高度
	 * @return 返回压缩后的文件的全路径
	 */

	public static File zipImageFile(File oldFile, int width, int height) {
		
		if (oldFile == null) {
			return null;
		}
		File newImage = null;
		try {
			/** 对服务器上的临时文件进行处理 */
			Image srcFile = ImageIO.read(oldFile);
			/** 宽,高设定 */
			BufferedImage tag = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);
			tag.getGraphics().drawImage(srcFile, 0, 0, width, height, null);

			/** 压缩后的文件名 可以再自定义 */
			newImage = oldFile;

			/** 压缩之后临时存放位置 */
			FileOutputStream out = new FileOutputStream(newImage);
			JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
			JPEGEncodeParam jep = JPEGCodec.getDefaultJPEGEncodeParam(tag);

			/** 压缩质量 */

			jep.setQuality(90, true);
			encoder.encode(tag, jep);
			out.close();

		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return newImage;

	}

  

压缩图片大小(Java源码)

标签:

原文地址:http://www.cnblogs.com/zhaojinhui/p/4963918.html

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