概述
Thumbnailator 是一个开源的 Java 项目,它提供了非常简单的 API 来对图片进行缩放、旋转以及加水印的处理。
有多简单呢?简单到一行代码就可以完成图片处理。形式如下:
Thumbnails.of(new File("path/to/directory").listFiles())
.size(640, 480)
.outputFormat("jpg")
.toFiles(Rename.PREFIX_DOT_THUMBNAIL);
当然,Thumbnailator 还有一些使用细节,下面我会一一道来。
核心 API
Thumbnails
Thumbnails 是使用 Thumbnailator 创建缩略图的主入口。
它提供了一组初始化 Thumbnails.Builder的接口。
先看下这组接口的声明:
// 可变长度参数列表
public static Builder of(String... files) {...}
public static Builder of(File... files) {...}
public static Builder of(URL... urls) {...}
public static Builder extends InputStream> of(InputStream... inputStreams) {...}
public static Builder of(BufferedImage... images) {...}
// 迭代器(所有实现 Iterable 接口的 Java 对象都可以,当然也包括 List、Set)
public static Builder fromFilenames(Iterable files) {...}
public static Builder fromFiles(Iterable files) {...}
public static Builder fromURLs(Iterable urls) {...}
public static Builder fromInputStreams(Iterable extends InputStream> inputStreams) {...}
public static Builder fromImages(Iterable images) {...}
很显然,Thumbna