java Thumbnails 图片处理的使用

在后端开发的过程中,都逃不开与文件传输特别是图片的传输打交道,但是因为现在各种拍照设备发展越来越快,拍出的照片更是越来越清晰,但是照片文件的大小也是越来越大了,手机拍照小则2M大则30M这在网络传输过程中谁顶得住呀!所以在用户发布照片,后端对图像文件进行保存的过程中压缩图像文件是必不可少的一个过程。

而Thumbnails就是一个很好的图像处理工具,他把复杂的图像处理封装的很好,只需要短短的一行代码就能完成对图像的压缩。

Thumbnails支持:

  • 指定大小进行缩放
  • 按照比例进行缩放
  • 不按照比例,指定大小进行缩放
  • 旋转
  • 水印
  • 裁剪
  • 转化图像格式
  • 输出到OutputStream
  • 输出到BufferedImage
  • 输出到ByteArrayOutputStream(OutputStream)
  • 输出到ByteArrayInputStream(InputStream)
  • 输出到byte[]
    Thumbnails导入依赖
<dependency>
 <groupId>net.coobird</groupId>
 <artifactId>thumbnailator</artifactId>
 <version>0.4.8</version>
</dependency>

一,指定大小进行缩放

//size(宽度, 高度) 
  
/* 
 * 若图片横比200小,高比300小,不变 
 * 若图片横比200小,高比300大,高缩小到300,图片比例不变 
 * 若图片横比200大,高比300小,横缩小到200,图片比例不变 
 * 若图片横比200大,高比300大,图片按比例缩小,横为200或高为300 
 */
Thumbnails.of("images/a380_1280x1024.jpg") 
  .size(200, 300) 
  .toFile("c:/a380_200x300.jpg"); 
  
Thumbnails.of("images/a380_1280x1024.jpg") 
  .size(2560, 2048) 
  .toFile("c:/a380_2560x2048.jpg");

二,单个图片等比例缩放

File file = new File("c:\\test.png");
  
Thumbnails.of(new FileInputStream(file)).scale(3.0).toFile(new File("c:\\yyyyy.png"));

3.0是一个double类型的数字,缩放比例,大于1就是变大,小于1就是缩小

三,不按照比例,指定大小进行缩放

//keepAspectRatio(false) 默认是按照比例缩放的 
Thumbnails.of("images/a380_1280x1024.jpg") 
  .size(200, 200) 
  .keepAspectRatio(false) 
  .toFile("c:/a380_200x200.jpg"); 

四,批量产生缩略图


                
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值