首页 > 代码库 > java实现的图片缩放 压缩 裁剪工具!找了很久,市面上再也找不到比它缩放效果还好的代码了
java实现的图片缩放 压缩 裁剪工具!找了很久,市面上再也找不到比它缩放效果还好的代码了
原文:java实现的图片缩放 压缩 裁剪工具!找了很久,市面上再也找不到比它缩放效果还好的代码了
源代码下载地址:http://www.zuidaima.com/share/1550463380458496.htm
纯 java 实现的 图片缩放 压缩 裁剪工具!不依赖任何第三方 jar 包
1. 找了很久,市面上再也找不到比它缩放效果还好的代码了 (再不使用任何第三方组件的前提下)
2. 支持缩放 3. 支持剪切 (例如:用户上传头像后剪切成正方形小图)
/* * Copyright 2012-2013 The Haohui Network Corporation */ package com.haohui.b2b.util; import java.awt.Color; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.net.URL; import java.util.Date; import java.util.Iterator; import javax.imageio.ImageIO; import javax.imageio.ImageReadParam; import javax.imageio.ImageReader; import javax.imageio.stream.ImageInputStream; import com.sun.image.codec.jpeg.ImageFormatException; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGEncodeParam; import com.sun.image.codec.jpeg.JPEGImageEncoder; /** * 图片压缩工具类 提供的方法中可以设定生成的 缩略图片的大小尺寸、压缩尺寸的比例、图片的质量等 * <pre> * 调用示例: * resiz(srcImg, tarDir + "car_1_maxLength_11-220px-hui.jpg", 220, 0.7F); * </pre> * * @project haohui-b2b * @author cevencheng www.zuidaima.com * @create 2012-3-22 下午8:29:01 */ public class ImageUtil { /** * * 图片文件读取 * * @param srcImgPath * @return */ private static BufferedImage InputImage(String srcImgPath) throws RuntimeException { BufferedImage srcImage = null; FileInputStream in = null; try { // 构造BufferedImage对象 File file = new File(srcImgPath); in = new FileInputStream(file); byte[] b = new byte[5]; in.read(b); srcImage = javax.imageio.ImageIO.read(file); } catch (IOException e) { e.printStackTrace(); throw new RuntimeException("读取图片文件出错!", e); } finally { if (in != null) { try { in.close(); } catch (IOException e) { throw new RuntimeException("读取图片文件出错!", e); } } } return srcImage; } /** * * 将图片按照指定的图片尺寸、源图片质量压缩(默认质量为1) * * @param srcImgPath * :源图片路径 * @param outImgPath * :输出的压缩图片的路径 * @param new_w * :压缩后的图片宽 * @param new_h * :压缩后的图片高 */ public static void resize(String srcImgPath, String outImgPath, int new_w, int new_h) { resize(srcImgPath, outImgPath, new_w, new_h, 1F); } /** * 将图片按照指定的尺寸比例、源图片质量压缩(默认质量为1) * * @param srcImgPath * :源图片路径 * @param outImgPath * :输出的压缩图片的路径 * @param ratio * :压缩后的图片尺寸比例 * @param per * :百分比 */ public static void resize(String srcImgPath, String outImgPath, float ratio) { resize(srcImgPath, outImgPath, ratio, 1F); } /** * 将图片按照指定长或者宽的最大值来压缩图片(默认质量为1) * * @param srcImgPath * :源图片路径 * @param outImgPath * :输出的压缩图片的路径 * @param maxLength * :长或者宽的最大值 * @param per * :图片质量 */ public static void resize(String srcImgPath, String outImgPath, int maxLength) { resize(srcImgPath, outImgPath, maxLength, 1F); } /** * * 将图片按照指定的图片尺寸、图片质量压缩 * * @param srcImgPath * :源图片路径 * @param outImgPath * :输出的压缩图片的路径 * @param new_w * :压缩后的图片宽 * @param new_h * :压缩后的图片高 * @param per * :百分比 * @author cevencheng */ public static void resize(String srcImgPath, String outImgPath, int new_w, int new_h, float per) { // 得到图片 BufferedImage src = http://www.mamicode.com/InputImage(srcImgPath); >
java实现的图片缩放 压缩 裁剪工具!找了很久,市面上再也找不到比它缩放效果还好的代码了
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。