1.简单介绍
net.coobird.thumbnailator.Thumbnails
是一个用于创建图像缩略图的 Java 库。该库提供了一个简单的 API,允许你在几行代码中创建高质量的缩略图,并支持各种图像格式。下面是该库的一些主要特点:
-
简单易用:
Thumbnails
类提供了一个简单的 API,允许你在几行代码中创建高质量的缩略图。 -
多种缩放选项:库提供了多种缩放选项,包括按比例缩放、指定宽高缩放和指定最大宽高缩放。
-
高质量缩略图:使用库创建的缩略图具有高质量,使用了一些高级技术,如子采样和平滑缩放算法。
-
支持多种图像格式:库支持各种常见的图像格式,如 JPEG、PNG 和 GIF。
-
灵活的配置选项:库提供了多种配置选项,如设置缩略图质量、设置输出格式和设置输出位置等。
-
基于 Java:该库是基于 Java 编写的,可以与 Java 项目轻松集成。
2.用途
net.coobird.thumbnailator.Thumbnails
库可以用于在 Java 应用程序中创建图像缩略图,常见的用途包括:
-
图像展示:将原始图像缩小以适应屏幕空间,以提高用户体验。
-
图像处理:在处理大量图像时,缩略图可以用于快速预览和选择图像,减少处理时间和资源消耗。
-
图像上传:在上传图像到网络服务器时,使用缩略图可以减少上传时间和宽带使用量。
-
网站设计:在网站设计中,缩略图可用于展示图像库或商品目录等内容,以提高用户体验和页面加载速度。
总之,net.coobird.thumbnailator.Thumbnails
库提供了一种方便的方式来在 Java 应用程序中创建高质量的缩略图,可以在多种应用场景中使用,以提高用户体验和减少资源消耗。
3.实例举例
1.按比例缩放图像:
Thumbnails.of("input.jpg")
.scale(0.5)
.toFile("output.jpg");
这个示例将 input.jpg
文件缩小到原始大小的一半,并将结果保存为 output.jpg
文件。
2.指定缩略图的宽高:
Thumbnails.of("input.jpg")
.size(200, 200)
.toFile("output.jpg");
这个示例将 input.jpg
文件缩小到宽度和高度均为 200 像素的大小,并将结果保存为 output.jpg
文件。
3.指定最大宽高并保持比例:
Thumbnails.of("input.jpg")
.size(800, 800)
.keepAspectRatio(true)
.toFile("output.jpg");
这个示例将 input.jpg
文件缩小到宽度和高度均不超过 800 像素的大小,并保持宽高比例不变,并将结果保存为 output.jpg
文件。
4.设置输出格式和质量:
Thumbnails.of("input.jpg")
.size(200, 200)
.outputFormat("png")
.outputQuality(0.8)
.toFile("output.png");
这个示例将 input.jpg
文件缩小到宽度和高度均为 200 像素的大小,将输出格式设置为 PNG 格式,并将输出质量设置为 80%,并将结果保存为 output.png
文件。
5. 指定宽度,但高度和原图一样
Thumbnails.of(coverPath).size(376, Thumbnails.of(coverPath).height(null)).toFile(coverPath);
在这个代码中,size()
方法的第一个参数指定所需的宽度为 376 像素,第二个参数使用 Thumbnails.of(coverPath).height(null)
来获取原始图像的高度,并将其指定为缩略图的高度。这将使缩略图具有与原始图像相同的高度,但宽度将更改为 376 像素。最后,缩略图将覆盖原始文件,因为 toFile()
方法的参数是原始文件的路径。
6.指定宽度为 376 像素,并使高度随原始图像高度自动计算
Thumbnails.of(coverPath).size(376, 0).toFile(coverPath);
在这个代码中,size()
方法的第一个参数指定所需的宽度为 376 像素,第二个参数为 0,这将告诉库自动计算所需的高度,以保持原始图像的宽高比。最后,缩略图将覆盖原始文件,因为 toFile()
方法的参数是原始文件的路径。