图片处理工具Thumbnailator的介绍和使用
文章目录
- 一、前言
- 二、特点
- 三、实例
- 1. 创建一个图片的缩略图
- 2. 创建一个有旋转角度的缩略图
- 3. 创建一个有转角有水印的缩略图
- 4. 将图片生成OutputStream流
- 5. 按图片比例创建缩略图
- 6. 批量输出图片
一、前言
最近在写一个校园商铺Web项目,在创建用户时需要上传头像,或者在店家创建一个商品时,都会上传很多的商品图片。所以了解到了Thumbnail图片处理工具。以下对Thumbnail的介绍的使用是基于Thumbnailator官方文档。
Maven依赖:
<dependency><groupId>net.coobird</groupId><artifactId>thumbnailator</artifactId><version>0.4.8</version></dependency>二、特点
- 能生成高质量的图片
| 大图 | 中图 | 小图 | 处理方式 |
|---|---|---|---|
| Thumbnailator | |||
| Graphics.drawImage |
- 可在图片中嵌入水印
- 可调整水印的透明度(0% ~ 100%)
| 20% 透明度 | 50% 透明度 | 80% 透明度 | 100% 透明度 |
|---|---|---|---|
- 支持图片旋转
| 0 转角 | 90 转角 | 180 转角 | 270 转角 | 45 转角 |
|---|---|---|---|---|
- 简介的代码编写即可实现效果(基本都是一句链式调用)
- 支持生成多种质量的图片(0 ~ 1,1是最高质量)
- 能控制生成图片的尺寸,长宽比
- 输出类型多种多样(如本地图片, BufferedImage, OutputStream等)
- 输出多种图片格式(jpg, png等)
三、实例
1. 创建一个图片的缩略图
用户上传头像时经常要创建上传图片的缩略图
publicstaticvoidmain(String[]args){try{// 以相对路径中的original.jpg为原图,创建一个thumbnail.jpg缩略图// 尺寸为高160,宽160Thumbnails.of(newFile("origina