最近有一个需求是需要给网站的图片生成一个高质量的缩略图,方便在有些场景中展示。而在 Java 中,如果要对图片进行处理,需要了解和使用 Image I/O API、Java 2D API、图片处理和图片缩放技术等,整体来看处理缩略图非常的复杂。
今天要推荐的开源库 Thumbnailator(GitHub 标星 3.2K)就是为了帮助大家更好的生成图片的缩略图。

Thumbnailator 是一个单独 Jar 包同时没有任何其他的网络库依赖,这样让集成变得非常的简单。以下代码就能完成对某一个文件夹下的图片进行批量的缩略图生成。
- Thumbnails.of(new File("path/to/directory").listFiles())
- .size(640, 480)
- .outputFormat("jpg")
- .toFiles(Rename.PREFIX_DOT_THUMBNAIL);
目前 Thumbnailator 项目非常的活跃,最近(20201017)刚发布了 0.4.13 版本。通过如下 Maven 配置可直接将 Thumbnailator 引入到你的项目中。

更多项目详情请查看如下链接。
开源项目地址:https://github.com/coobird/thumbnailator