使用thumbnailator不按照比例,改变图片的大小
2018-07-18 01:18:05来源:博客园 阅读 ()
我们在平时的开发中,偶尔也会遇到图片处理的问题,比如图片的压缩,按比例改变图片的大小,不按比例改变图片的大小等等。
如果要自己去开发这样一套工具,我觉得大多数人都是做不到的,所以还是学会站在巨人的肩膀上来的比较轻巧。
所以在这里给大家推荐google使用的开源工具包thumbnailator,这个工具包可以满足各种各样的图片处理要求,除了上面说的还包括旋转,裁切,加水印等等。
而且图片处理过后能保持不错的质量,图片处理性能也ok,代码也比较容易使用,多用用就熟悉了。
这里给大家举一下不按照比例改变图片的大小的代码的例子,大家在以后遇到图片处理问题的时候可以举一反三去完善这个图片处理工具类。
在maven中依赖此工具包:
1 <!-- 图片处理工具 --> 2 <dependency> 3 <groupId>net.coobird</groupId> 4 <artifactId>thumbnailator</artifactId> 5 <version>0.4.6</version> 6 </dependency>
写一个公共的图片处理工具类:
1 package com.cfwx.weixin.common.utils; 2 3 import java.io.IOException; 4 5 import net.coobird.thumbnailator.Thumbnails; 6 7 /** 8 * 图片处理工具类 9 * 10 * @author lixiao 11 * @version 1.0 12 * @date 2018/04/18 13 */ 14 public class PictureUtil 15 { 16 17 /** 18 * 私有化工具类对象 19 */ 20 private PictureUtil() 21 { 22 } 23 24 /** 25 * 不按照比例,指定大小进行缩放 26 * 27 * @param inFilepath 28 * @param width 29 * @param height 30 * @param outFilepath 31 * @throws IOException 32 */ 33 public static void keepAspectRatioFalse(String inFilepath, int width, int height, String outFilepath) throws IOException 34 { 35 Thumbnails.of(inFilepath).size(width, height).keepAspectRatio(false).toFile(outFilepath); 36 } 37 38 }
将构造函数私有化可以避免创建此工具类的对象,这样就只能通过类名调用此工具类的静态方法,我们这里封装了一个不按照比例,指定大小进行缩放的方法,inFilePath是指原图片保存的路径,在项目中一般使用临时文件,业务处理结束后,一般会将临时文件删除,避免暂用项目空间,造成项目臃肿,width宽度,height高度,outFilepath为输出图片保存路径,同理此文件根据情况也可以作为临时文件,比如前端要下载指定大小的图片,那么后端处理结束后需要将之前处理的图片删除,避免造成项目臃肿。
Thumbnails类的of方法指定原图片路径,size方法指定图片的大小,keepAspectRatio指定是否按照比例缩放,toFile方法用来输出处理后的图片到指定路径。
thumbnailator工具包中还有很多方法来实现各种各样的图片处理,这里就不给大家一一列举,大家自己把thumbnailator工具包下载下来,结合相关的api资料去完善自己的图片处理工具类,然后去玩一玩图片的各种处理。
结束语:知识是一种使求知者吃得越多越觉得饿的粮食。
可爱博主:AlanLee
博客地址:http://www.cnblogs.com/AlanLee
本文出自博客园,欢迎大家加入博客园。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Hibernate学习第一天
下一篇:文件复制
- 面试的时候按照这个套路回答 Java GC 的相关问题一定能过 2020-06-08
- 聊聊 OAuth 2.0 的 token expire_in 使用 2020-06-08
- 为什么阿里巴巴Java开发手册中强制要求接口返回值不允许使用 2020-06-06
- 学习笔记之方法引用 2020-06-06
- idea使用小技巧(一) 2020-06-05
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash