Java图片处理 - 缩放图片
Java图片处理 - 缩放图片
Java原生代码实现缩放图片
上一章原生代码中执行测试代码:
public static void main(String[] args) {/*这儿填写你存放要缩小图片的文件夹全地址*/String src = "C:/test2.jpg" ;/*这儿填写你转化后的图片存放的文件夹*/String tar = "C:/test2_width_200.jpg";/* 根据宽度缩放 */ImageUtil.widthCutting(src, tar, 200);}
具体实现可以看一下以下代码:
/* 原始图像的宽度和高度 */int width = im.getWidth();int height = im.getHeight();//计算压缩比例float resizeTimes = (float)targetWidth / (float)width;BigDecimal bd = new BigDecimal((double)resizeTimes);// (1:小数点位数, 4:表示四舍五入,可以选择其他舍值方式,例如去尾等等.bd = bd.setScale(1 ,4); resizeTimes = bd.floatValue();/* 调整后的图片的宽度和高度 - 按照压缩比例计算出新的宽度和高度 */int toWidth = (int) (width * resizeTimes);int toHeight = (int) (height * resizeTimes);/* 新生成结果图片 */result = new BufferedImage(toWidth, toHeight, BufferedImage.TYPE_INT_RGB);result.getGraphics().drawImage( im.getScaledInstance(toWidth, toHeight, java.awt.Image.SCALE_SMOOTH), 0, 0, null);
最核心的是将图片按比例进行缩小,如果你只想缩小50%,那么你就可以直接将resizeTimes设置成0.5f
,然后去计算最终宽高。
使用im4java调用ImageMagick缩放图片
上面的一堆计算是不是很麻烦,其实有更简单的方式,就是用im4java调用第三方库实现,处理跟方便
测试代码:
public static void main(String[] args) throws Exception {String src = "c:/test2.jpg";String target = "c:/test2_70_ratio.jpg";resizeImage(src, target, "70%");System.out.println("完成");
}
/*** 改变图片大小比例* @param path 原文件路径* @param des 目标文件路径* @param ratio 缩放比例* @throws Exception*/
public static void resizeImage(String path, String des, String ratio) throws Exception {
// 创建目标文件createDirectory(des);IMOperation op = new IMOperation();op.addImage(path);op.addRawArgs(ratio);op.addImage(des);ConvertCmd cmd = (ConvertCmd) getImageCommand("convert");cmd.run(op);
}
大家还可以参考我专栏中的其他文章:
(1)Java图片处理 - 安装ImageMagick库使用convert命令
(2)Java图片处理 - 创建工具类
(3)Java图片处理 - 复制
(4)Java图片处理 - 缩放图片
(5)Java图片处理 - gif图获取一帧图片
Java图片处理 - 缩放图片相关推荐
- java 等比缩放图片_java处理图片按比例缩放功能
java中的图片按比例缩放功能 1. 按固定长宽进行缩放 /* * 图片缩放,w,h为缩放的目标宽度和高度 * src为源文件目录,dest为缩放后保存目录 */ public static void ...
- Java 等比例缩放图片
/*** 等比率缩放* @param imgsrc 原图片路径* @param imgdist 缩放图片路径* @param widthdist 指定缩放宽度*/ public static void ...
- PyQt5、PySide2、PySide6使用QLabel显示图片,缩放图片并保持长宽比
对于比较大的图片,如果QLabel尺寸是固定的,会使得图片显示不全.对于比较小的图片,图片周围又可能留有空白.为此,应当放缩图片至合适的尺寸.如果要求图片不能变形走样,还应当保持图片的长宽比. pix ...
- Python OpenCV:利用滚动条移动图片,利用鼠标缩放图片
Python OpenCV:利用滚动条移动图片,利用鼠标缩放图片 一.实现目标 二.实现背景 三.实现方法 四.运行环境 五.运行代码 六.运行结果 七.不足 八.参考 一.实现目标 在OpenC ...
- Qt 完成图片的缩放拖动
1. 事件和函数 主要使用事件paintEvent(QPaintEvent *event)和drawTiledPixmap函数实现绘图. paintEvent事件在改变窗口大小.移动窗口.手动调用up ...
- java 上传的图片大小为0_JAVA技术:上传图片的缩放处理
图片上传到后,会根据情况将图片缩小成一个图标,我们可以利用java强大的图形处理功能,对上传的图片进行缩放处理. 下面的程序使用jdk1.4中最新的ImageIO对图片进行读写.使用AffineTra ...
- java裁剪图片_java实现图片的缩放和裁剪
最近要做一个web项目,里面涉及到对图片的缩放和裁剪.原理是这样的,首先先对图片进行缩放,然后,将缩放之后的图片进行裁剪,里面涉及到许多java图片api的应用,代码如下. //参数分别对应了员图片的 ...
- java实现按比例缩放图片技巧
java实现按比例缩放图片技巧 案例需求: 根据指定的文件名称,用户给定的缩放比例来完成缩放图片 思路分析: 1.文件对象File 2.BufferedImage构造器: 图像数据的访问的缓冲器 3. ...
- java马赛克_java实现图片缩放、旋转和马赛克化
本文是作者结合网上的一些资料封装的java图片处理类,支持图片的缩放,旋转,马赛克化. 不多说,上代码: package deal; import java.awt.Color; import jav ...
最新文章
- 企业组网安全如何保障?SDWAN提供怎样的安全服务?
- Java之反射代码演示说明
- webstorm前端调用后端接口_软件测试面试题:怎么去判断一个bug是前端问题还是后端问题...
- oracle设为归档模式,设置oracle归档模式
- 成都东软学院php期末考试题,求大神。。。C语言期末项目答案。。。题在一楼。。。...
- 《微店赚钱一册通 ——开店+营销+推广 实战全攻略》一一1.5 微店有哪些优势...
- H5网页微信授权登录
- Symbol数据类型
- mysql年龄最大_使用MySQL子查询选择年龄最大的所有用户?
- 局域网,手机与电脑文件共享
- 2021/10/04 git 详细流程
- 【量化笔记】量价关系分析
- Deep Pyramidal Residual Networks for Spectral-Spatial HSIs Classification(2019)——深度学习论文笔记(二)
- 将base64指纹编码输出为指定大小的图片
- python cv2什么意思_Python CV2的基本操作
- 拓嘉辰丰:把握拼多多改价技巧,降低降权风险
- 手机和PC站点击商务通无轨迹解决方法
- 从Gartner 最新“客户之选”报告,看国内外RPA的差异化竞争
- AttributeSet与TypeArray的关系
- 如何在Github上为开源贡献力量?