net.coobird.thumbnailator.Thumbnails 库的使用

1.简单介绍

net.coobird.thumbnailator.Thumbnails 是一个用于创建图像缩略图的 Java 库。该库提供了一个简单的 API,允许你在几行代码中创建高质量的缩略图,并支持各种图像格式。下面是该库的一些主要特点:

  • 简单易用:Thumbnails 类提供了一个简单的 API,允许你在几行代码中创建高质量的缩略图。

  • 多种缩放选项:库提供了多种缩放选项,包括按比例缩放、指定宽高缩放和指定最大宽高缩放。

  • 高质量缩略图:使用库创建的缩略图具有高质量,使用了一些高级技术,如子采样和平滑缩放算法。

  • 支持多种图像格式:库支持各种常见的图像格式,如 JPEG、PNG 和 GIF。

  • 灵活的配置选项:库提供了多种配置选项,如设置缩略图质量、设置输出格式和设置输出位置等。

  • 基于 Java:该库是基于 Java 编写的,可以与 Java 项目轻松集成。

2.用途

net.coobird.thumbnailator.Thumbnails 库可以用于在 Java 应用程序中创建图像缩略图,常见的用途包括:

  1. 图像展示:将原始图像缩小以适应屏幕空间,以提高用户体验。

  2. 图像处理:在处理大量图像时,缩略图可以用于快速预览和选择图像,减少处理时间和资源消耗。

  3. 图像上传:在上传图像到网络服务器时,使用缩略图可以减少上传时间和宽带使用量。

  4. 网站设计:在网站设计中,缩略图可用于展示图像库或商品目录等内容,以提高用户体验和页面加载速度。

总之,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() 方法的参数是原始文件的路径。

猜你喜欢

转载自blog.csdn.net/CSH__/article/details/129633849