今天遇到了一个场景需要将图片压缩成480*640的格式,方便人脸检测,在网上搜到了Thumbnailator工具类。
项目地址
导入依赖
可以使用maven导入pom或者是使用单独的jar包
- maven
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.8</version>
</dependency>
- 单独jar包
下载下来后,直接加入到项目路径即可
使用方式
使用方式非常简单,使用fluent的方式,
Thumbnails.of(new File("path/to/directory").listFiles())
.size(640, 480)
//jpg格式支持压缩,最好使用jpg格式
.outputFormat("jpg")
//这种方式输出的文件会导致在原先的照片前加上thumbnails的前缀,不会覆盖原先的文件
//如果需要覆盖原先的文件,使用Rename.NO_CHANGE
.toFiles(Rename.PREFIX_DOT_THUMBNAIL);
- 注意,new File("path/to/directory").listFiles()可能产生空指针异常,需要判断下文件夹路径应该存在
使用效果
原先图片是446kb,使用Thumbnails压缩后,图片压缩成25.4kb,就可以满足我的需求了。