使用情况
当客户端显示大量图片时,经常由于图片过大短时间内加载不出来,这时我们需要在服务器对用户上传的图片进行简单的压缩处理。
添加依赖
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.8</version>
</dependency>
常用API说明
.of(String path):图片源路径
.size(int x,int y):指定长宽进行缩放
.scale(double v):按比例缩放(0~N)
.outputQuality(double v):输出质量,最大1 (0~1)
.outputFormat():输出的图片格式
- 指定大小进行缩放
Thumbnails.of("demo.jpg")
.size(200, 300)
.toFile("demo1.jpg");
- 按照比例进行缩放
Thumbnails.of("demo.jpg")
.scale(0.25f)
.toFile("demo1.jpg");
- 输出图片到BufferedImage
BufferedImage thumbnail = Thumbnails.of("demo.jpg")
.scale(1f)
.asBufferedImage();
ImageIO.write(thumbnail, "jpg", new File("kkk.jpg"));
目前我测试的第三种BufferedImage速度最快,推荐使用!!!
测试发现,png格式的图片压缩暂不支持。
png图片尺寸可正常压缩, 但压缩后所占内存会变大。
本文介绍了如何使用thumbnailator库对Java中的图片进行压缩处理,包括添加依赖、常用API的使用,如指定尺寸缩放、按比例缩放和设置输出质量。特别推荐使用特定的BufferedImage方法,因其速度最快。需要注意的是,测试中发现thumbnailator不支持png格式的压缩,尽管尺寸可以压缩,但内存占用会增加。
1216

被折叠的 条评论
为什么被折叠?



