文件系统【图片处理】(基于thumbnailator)典藏版-壹
2024-09-01 05:14:42
很多系统开发中都会碰到文件相关的处理,最近顺手开发一个小型文件系统的过程中碰到图片缩略图的需求,需要在显示的时候提供缩略图,下载的时候提供原图,大家直接想到的可能是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 获取第一手的满足~
最新文章
- Tastypie 学习笔记
- IIS7+windows 64位配置注意事项
- Max Sum
- PLoP(Pattern Languages of Programs,程序设计的模式语言)
- flex布局知识点
- WordPress安装使用问题记录
- 编译升级php之路(5.5.7 到 5.5.37)
- hibernate的pojo和xml文件
- 重装yum
- GCD学习之dispatch_barrier_async
- document.compatMode简介
- Unity 脚本中update,fixedupdate,lateupdate等函数的执行顺序
- Spring Boot入门(一):使用IDEA创建Spring Boot项目并使用yaml配置文件
- oracle 10g函数大全--日期型函数
- idea 模板注释设置
- SaxReader读取xml
- gateway 配置
- 使用 Apache 来限制访问 Confluence 6 的管理员界面
- SoundManager 2 / API Demo and Code Examples
- 获取元素的最终background-color