很多系统开发中都会碰到文件相关的处理,最近顺手开发一个小型文件系统的过程中碰到图片缩略图的需求,需要在显示的时候提供缩略图,下载的时候提供原图,大家直接想到的可能是java自带的图片处理类,但是处理过于复杂,无法满足需求,特别是在水印等方面支持的不太好,老样子,直接发轮子,接好了~

简单介绍下今天的轮子吧:

thumbnailator

  • google开发并维护
  • github开源
  • 不依赖于外部库
  • 操作超级简单(真的超级简单)

action

ONE.按照原图缩小(原图001.jpg-->002.jpg):

Thumbnails.of(new File("F://001.jpg"))
.size(500, 500)
.toFile(new File("F://002.jpg"));

原图大小:6848 KB --> 42 KB 新图(比例不变,见下图)


TWO.按照原图放大(原图001.jpg-->002.jpg):

Thumbnails.of(new File("F://002.jpg"))
.size(1500, 1500)
.toFile(new File("F://003.jpg"));

原图大小:42 KB --> 174 KB 新图(比例不变,如下图)


除了便捷的放大缩小,直接生成文件之外。

还可以转换文件格式、支持直接生成输出流等等,代码:

OutputStream os = ...;

Thumbnails.of("F://001.jpg")
.size(200, 200)
.outputFormat("png")
.toOutputStream(os);

相比原有的方案是不是贼方便,基本上代码不超过5行,解决了50行都不一定能解决的问题,今天分享到这里,后面见更多thumbnailator的用法分享。

其实很多时候,我们只需要鱼,而不是渔,呐,给你鱼。

TO BE CONTINUE !

关注公众号 watermelon_code 获取第一手的满足~

最新文章

  1. Tastypie 学习笔记
  2. IIS7+windows 64位配置注意事项
  3. Max Sum
  4. PLoP(Pattern Languages of Programs,程序设计的模式语言)
  5. flex布局知识点
  6. WordPress安装使用问题记录
  7. 编译升级php之路(5.5.7 到 5.5.37)
  8. hibernate的pojo和xml文件
  9. 重装yum
  10. GCD学习之dispatch_barrier_async
  11. document.compatMode简介
  12. Unity 脚本中update,fixedupdate,lateupdate等函数的执行顺序
  13. Spring Boot入门(一):使用IDEA创建Spring Boot项目并使用yaml配置文件
  14. oracle 10g函数大全--日期型函数
  15. idea 模板注释设置
  16. SaxReader读取xml
  17. gateway 配置
  18. 使用 Apache 来限制访问 Confluence 6 的管理员界面
  19. SoundManager 2 / API Demo and Code Examples
  20. 获取元素的最终background-color

热门文章

  1. 林大妈的JavaScript基础知识(一):JavaScript简史
  2. MySQL8.0 zip压缩包版本 Windows下安装
  3. win7 磁盘碎片整理
  4. mysql中的SQL语句执行的顺序
  5. let和const解构赋值
  6. JAVA对象实例化方式总结
  7. Linux下zookeeper下载与安装教程
  8. hdoj 3555 BOMB(数位dp)
  9. Cell Phone Networ (树形dp-最小支配集)
  10. request获取url链接和参数