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图片处理 - 缩放图片相关推荐

  1. java 等比缩放图片_java处理图片按比例缩放功能

    java中的图片按比例缩放功能 1. 按固定长宽进行缩放 /* * 图片缩放,w,h为缩放的目标宽度和高度 * src为源文件目录,dest为缩放后保存目录 */ public static void ...

  2. Java 等比例缩放图片

    /*** 等比率缩放* @param imgsrc 原图片路径* @param imgdist 缩放图片路径* @param widthdist 指定缩放宽度*/ public static void ...

  3. PyQt5、PySide2、PySide6使用QLabel显示图片,缩放图片并保持长宽比

    对于比较大的图片,如果QLabel尺寸是固定的,会使得图片显示不全.对于比较小的图片,图片周围又可能留有空白.为此,应当放缩图片至合适的尺寸.如果要求图片不能变形走样,还应当保持图片的长宽比. pix ...

  4. Python OpenCV:利用滚动条移动图片,利用鼠标缩放图片

    Python OpenCV:利用滚动条移动图片,利用鼠标缩放图片 一.实现目标 二.实现背景 三.实现方法 四.运行环境 五.运行代码 六.运行结果 七.不足 八.参考 一.实现目标   在OpenC ...

  5. Qt 完成图片的缩放拖动

    1. 事件和函数 主要使用事件paintEvent(QPaintEvent *event)和drawTiledPixmap函数实现绘图. paintEvent事件在改变窗口大小.移动窗口.手动调用up ...

  6. java 上传的图片大小为0_JAVA技术:上传图片的缩放处理

    图片上传到后,会根据情况将图片缩小成一个图标,我们可以利用java强大的图形处理功能,对上传的图片进行缩放处理. 下面的程序使用jdk1.4中最新的ImageIO对图片进行读写.使用AffineTra ...

  7. java裁剪图片_java实现图片的缩放和裁剪

    最近要做一个web项目,里面涉及到对图片的缩放和裁剪.原理是这样的,首先先对图片进行缩放,然后,将缩放之后的图片进行裁剪,里面涉及到许多java图片api的应用,代码如下. //参数分别对应了员图片的 ...

  8. java实现按比例缩放图片技巧

    java实现按比例缩放图片技巧 案例需求: 根据指定的文件名称,用户给定的缩放比例来完成缩放图片 思路分析: 1.文件对象File 2.BufferedImage构造器: 图像数据的访问的缓冲器 3. ...

  9. java马赛克_java实现图片缩放、旋转和马赛克化

    本文是作者结合网上的一些资料封装的java图片处理类,支持图片的缩放,旋转,马赛克化. 不多说,上代码: package deal; import java.awt.Color; import jav ...

最新文章

  1. 企业组网安全如何保障?SDWAN提供怎样的安全服务?
  2. Java之反射代码演示说明
  3. webstorm前端调用后端接口_软件测试面试题:怎么去判断一个bug是前端问题还是后端问题...
  4. oracle设为归档模式,设置oracle归档模式
  5. 成都东软学院php期末考试题,求大神。。。C语言期末项目答案。。。题在一楼。。。...
  6. 《微店赚钱一册通 ——开店+营销+推广 实战全攻略》一一1.5 微店有哪些优势...
  7. H5网页微信授权登录
  8. Symbol数据类型
  9. mysql年龄最大_使用MySQL子查询选择年龄最大的所有用户?
  10. 局域网,手机与电脑文件共享
  11. 2021/10/04 git 详细流程
  12. 【量化笔记】量价关系分析
  13. Deep Pyramidal Residual Networks for Spectral-Spatial HSIs Classification(2019)——深度学习论文笔记(二)
  14. 将base64指纹编码输出为指定大小的图片
  15. python cv2什么意思_Python CV2的基本操作
  16. 拓嘉辰丰:把握拼多多改价技巧,降低降权风险
  17. 手机和PC站点击商务通无轨迹解决方法
  18. 从Gartner 最新“客户之选”报告,看国内外RPA的差异化竞争
  19. AttributeSet与TypeArray的关系
  20. 如何在Github上为开源贡献力量?

热门文章

  1. 【服务器数据恢复】Storwize系列存储raid5数据恢复案例
  2. HM下载、配置、运行
  3. 司科水果o2o_水果o2o系统_生鲜配送水果o2o系统开发
  4. win10搜索框不能用的解决方案
  5. 基于opencv实现透视变换(Python)
  6. python 自动化测试基础
  7. oracle常用SQL语句(汇总版)
  8. Android USB 扫码枪获取扫描内容
  9. python入门指南by许半仙-Python入门指南 作者:许半仙(4)
  10. Java学习路线图,内附完整Java自学视频教程+工具经验