SpringBoot2.x 整合 thumbnailator 图片处理

本文介绍了如何在SpringBoot2.x项目中整合thumbnailator库进行图片处理,包括图片的指定大小缩放、指定比例缩放、添加水印、图片旋转和裁剪。thumbnailator提供了一个简单易用的API,简化了Java图片处理操作。

每天早上七点三十,准时推送干货

Photo by XPS on Unsplash

1、序

在实际项目中,有时为了响应速度,难免会对一些高清图片进行一些处理,比如图片压缩之类的,而其中压缩可能就是最为常见的。最近,阿粉就被要求实现这个功能,原因是客户那边嫌速度过慢。借此机会,阿粉今儿就给大家介绍一些一下我做这个功能时使用的 Thumbnailator 库。

Thumbnailator 是一个优秀的图片处理的 Google 开源 Java 类库,专门用来生成图像缩略图的,通过很简单的 API 调用即可生成图片缩略图,也可直接对一整个目录的图片生成缩略图。两三行代码就能够从现有图片生成处理后的图片,且允许微调图片的生成方式,同时保持了需要写入的最低限度的代码量。可毫不夸张的说,它是一个处理图片十分棒的开源框架。

支持:图片缩放,区域裁剪,水印,旋转,保持比例。

Thumbnailator 官网:https://code.google.com/p/thumbnailator/

有了这玩意,就不用在费心思使用 Image I/O API,Java 2D API 等等来生成缩略图了。

废话少说,直接上代码,先来看一个最简单的例子:

2、代码示例

2.1. 新建一个springboot项目
2.2. 引入依赖 thumbnailator
<dependency>
 <groupId>net.coobird</groupId>
 <artifactId>thumbnailator</artifactId>
 <version>0.4.8</version>
</dependency>
2.3. controller

主要实现了如下几个接口作为测试:

@RestController
public class ThumbnailsController {
 @Resource
 private IThumbnailsService thumbnailsService;

 /**
  * 指定大小缩放
  * @param resource
  * @param width
  * @param height
  * @return
  */
 @GetMapping("/changeSize")
 public String changeSize(MultipartFile resource, int width, int height) {
  return thumbnailsService.changeSize(resource, width, height);
 }

 /**
  * 指定比例缩放
  * @param resource
  * @param scale
  * @return
  */
 @GetMapping("/changeScale")
 public String changeScale(MultipartFile resource, double&nbs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值