代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
等比压缩图片文件
作者:
懿洋
/ 发布于
2016/12/20
/
585
import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import javax.imageio.ImageIO; import com.dagong.querySystem.entity.ConstantInfo; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGImageEncoder; /** * 图片压缩处理 */ public class ZipImgUtil { private Image img; private int width; private int height; private static String urlImg2; //定义全局变量方便传地址 /** * 添加有参和无参构造函数 */ public ZipImgUtil(){} public ZipImgUtil(String imgPath) throws IOException { File file = new File(imgPath);// 读入文件 img = ImageIO.read(file); // 构造Image对象 width = img.getWidth(null); // 得到源图宽 height = img.getHeight(null); // 得到源图长 } /** * 确定是按照宽度还是高度进行压缩 * @param h int 最大高度 * @param w int 最大宽度 */ public void resizeFix(int h, int w) throws IOException { if ( height/ width > h / w) { resizeByWidth(h); } else { resizeByHeight(w); } } /** * 以高度为基准,等比例放缩图片 * @param h int 新高度 */ public void resizeByWidth(int h) throws IOException { int w = (int) ( width* h / height); resize(h, w); } /** * 以宽度为基准,等比例缩放图片 * @param w int 新宽度 */ public void resizeByHeight(int w) throws IOException { int h = (int) ( height* w /width ); resize(h, w); } /** * 进行强制压缩/放大图片到固定的大小 * @param w int 新宽度 * @param h int 新高度 */ public void resize(int h, int w) throws IOException { //参数是TYPE_3BYTE_BGR时,图片最清晰! BufferedImage image = new BufferedImage(w, h,BufferedImage.TYPE_3BYTE_BGR ); image.getGraphics().drawImage(img, 0, 0, w,h, null); // 绘制缩小后的图像 //存放的地址 File destFile = new File(urlImg2); FileOutputStream out = new FileOutputStream(destFile); // 输出文件流 // 可以正常实现bmp、png、gif、jpg等图片压缩 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); encoder.encode(image); //编码 out.close(); //关闭流 } /** * * @方法功能说明: 压缩图片文件的方法 * @修改者名字: yang * @修改日期: 2015-11-11 * @修改次数:1 * @参数: @param imgPath="F:/123.png"; * @参数: @throws Exception * @返回值 void */ public void comparessImg(String imgPath) throws Exception { //实例对象 StringBuffer img=new StringBuffer(imgPath); urlImg2=img.toString(); //有参构造方法 ZipImgUtil imgCom = new ZipImgUtil(img.toString()); //压缩 imgCom.resizeFix(ConstantInfo.IMG_HEIGHT, ConstantInfo.IMG_WIDTH); } }
试试其它关键字
等比压缩图片文件
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
懿洋
贡献的其它代码
(
7
)
.
获取一个周的周一和周日
.
Ruby 使用 HTTP 代理的例子
.
网页图片抓取
.
等比压缩图片文件
.
修改chrome记住密码后自动填充表单的黄色背景
.
文本框输入四个数字自动加空格
.
获取本机网卡信息、个数、描述信息、类型、速度等
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3