`
liuguofeng
  • 浏览: 450276 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Java缩略图生成库之Thumbnailator应用说明

    博客分类:
  • Java
 
阅读更多

Thumbnailator 是一个为Java界面更流畅的缩略图生成库。从API提供现有的图像文件和图像对象的缩略图中简化了缩略过程,两三行代码就能够从现有图片生成缩略图,且允许微调缩略图生成,同时保持了需要写入到最低限度的代码量。同时还支持根据一个目录批量生成缩略图。

版本:thumbnailator-0.4.2.jar

原图如下:


1、指定大小进行缩放

复制代码 代码如下:

//size(宽度, 高度)

/*
* 若图片横比200小,高比300小,不变
* 若图片横比200小,高比300大,高缩小到300,图片比例不变
* 若图片横比200大,高比300小,横缩小到200,图片比例不变
* 若图片横比200大,高比300大,图片按比例缩小,横为200或高为300
*/
Thumbnails.of("images/a380_1280x1024.jpg")
.size(200, 300)
.toFile("c:/a380_200x300.jpg");

Thumbnails.of("images/a380_1280x1024.jpg")
.size(2560, 2048)
.toFile("c:/a380_2560x2048.jpg");



2、按照比例进行缩放

复制代码 代码如下:

//scale(比例)
Thumbnails.of("images/a380_1280x1024.jpg")
.scale(0.25f)
.toFile("c:/a380_25%.jpg");

Thumbnails.of("images/a380_1280x1024.jpg")
.scale(1.10f)
.toFile("c:/a380_110%.jpg");



3、不按照比例,指定大小进行缩放

复制代码 代码如下:

//keepAspectRatio(false) 默认是按照比例缩放的
Thumbnails.of("images/a380_1280x1024.jpg")
.size(200, 200)
.keepAspectRatio(false)
.toFile("c:/a380_200x200.jpg");



4、旋转

复制代码 代码如下:

//rotate(角度),正数:顺时针 负数:逆时针
Thumbnails.of("images/a380_1280x1024.jpg")
.size(1280, 1024)
.rotate(90)
.toFile("c:/a380_rotate+90.jpg");

Thumbnails.of("images/a380_1280x1024.jpg")
.size(1280, 1024)
.rotate(-90)
.toFile("c:/a380_rotate-90.jpg");




5、水印

复制代码 代码如下:

//watermark(位置,水印图,透明度)
Thumbnails.of("images/a380_1280x1024.jpg")
.size(1280, 1024)
.watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File("images/watermark.png")), 0.5f)
.outputQuality(0.8f)
.toFile("c:/a380_watermark_bottom_right.jpg");

Thumbnails.of("images/a380_1280x1024.jpg")
.size(1280, 1024)
.watermark(Positions.CENTER, ImageIO.read(new File("images/watermark.png")), 0.5f)
.outputQuality(0.8f)
.toFile("c:/a380_watermark_center.jpg");




6、裁剪

复制代码 代码如下:

//sourceRegion()

//图片中心400*400的区域
Thumbnails.of("images/a380_1280x1024.jpg")
.sourceRegion(Positions.CENTER, 400,400)
.size(200, 200)
.keepAspectRatio(false)
.toFile("c:/a380_region_center.jpg");

//图片右下400*400的区域
Thumbnails.of("images/a380_1280x1024.jpg")
.sourceRegion(Positions.BOTTOM_RIGHT, 400,400)
.size(200, 200)
.keepAspectRatio(false)
.toFile("c:/a380_region_bootom_right.jpg");

//指定坐标
Thumbnails.of("images/a380_1280x1024.jpg")
.sourceRegion(600, 500, 400, 400)
.size(200, 200)
.keepAspectRatio(false)
.toFile("c:/a380_region_coord.jpg");




7、转化图像格式

复制代码 代码如下:

//outputFormat(图像格式)
Thumbnails.of("images/a380_1280x1024.jpg")
.size(1280, 1024)
.outputFormat("png")
.toFile("c:/a380_1280x1024.png");

Thumbnails.of("images/a380_1280x1024.jpg")
.size(1280, 1024)
.outputFormat("gif")
.toFile("c:/a380_1280x1024.gif");



8、输出到OutputStream

复制代码 代码如下:

//toOutputStream(流对象)
OutputStream os = new FileOutputStream("c:/a380_1280x1024_OutputStream.png");
Thumbnails.of("images/a380_1280x1024.jpg")
.size(1280, 1024)
.toOutputStream(os);



9、输出到BufferedImage

复制代码 代码如下:

//asBufferedImage() 返回BufferedImage
BufferedImage thumbnail = Thumbnails.of("images/a380_1280x1024.jpg")
.size(1280, 1024)
.asBufferedImage();
ImageIO.write(thumbnail, "jpg", new File("c:/a380_1280x1024_BufferedImage.jpg"));



大小: 20.7 KB

 

大小: 1.1 KB

大小: 2.3 KB

大小: 2.2 KB

大小: 23.2 KB

大小: 23.3 KB

大小: 27.9 KB

 

大小: 27 KB 

分享到:
评论

相关推荐

    ThumbNailator缩略图生成实验

    【ThumbNailator缩略图生成实验】是一个基于JSP技术的项目,旨在演示如何处理用户上传的图像文件并生成高质量的缩略图。在这个实验中,我们将深入探讨JSP(JavaServer Pages)的核心概念,以及如何利用它来实现动态...

    Java开源图片框架thumbnailator-0.4.8.jar

    1. **缩略图生成**:thumbnailator的核心功能是生成缩略图,它能快速地将大尺寸的图片转换成适合在网络或移动设备上展示的小尺寸图片,同时保持图片质量。 2. **非破坏性处理**:thumbnailator支持非破坏性的图片...

    java缩略图jar包

    Java 缩略图生成库,如“thumbnailator-0.4.4.jar”,是一个非常实用的工具,尤其对于那些在处理图像文件时需要快速创建预览或者缩略图的开发者而言。这个库提供了简单易用的API,可以方便地集成到Java项目中,大大...

    java处理图片,缩略图,添加水印,格式转换,Thumbnailator

    Thumbnailator库由Cedric Chabanois开发,它的主要目标是简化Java中的图像缩略图生成。以下是一些核心功能和知识点: 1. **创建缩略图**:Thumbnailator库提供了一个直观的API来创建缩略图。你可以通过指定宽度、...

    为Java界面更流畅的缩略图生成库

    Thumbnailator 是一个为Java界面更流畅的缩略图生成库。从API提供现有的图像文件和图像对象的缩略图中简化了缩略过程,且允许微调缩略图生成,同时保持了需要写入到最低限度的代码量。同时还支持根据一个目录批量...

    thumbnailator:Thumbnailator-Java的缩略图生成库

    Thumbnailator是Java的缩略图生成库。 为什么选择Thumbnailator? 用Java制作高质量的缩略图可能是一项相当困难的任务。 学习如何使用图像I / O API,Java 2D API,图像处理,图像缩放技术,但不要担心! ...

    thumbnailator java用于图片压缩 生成缩略图 添加水印等

    thumbnailator(包括jar包跟api) java用于图片压缩 生成缩略图 添加水印等 这是我见过最好的压缩工具了 使用方法: Thumbnails.of(new File("path/to/directory").listFiles()) .size(640, 480) .outputFormat(...

    Thumbnailator-0.2.6

    《Thumbnailator-0.2.6:便捷的Java缩略图生成库》 在数字图像处理领域,生成缩略图是一项常见的任务,特别是在网站开发、移动应用和图像管理软件中。"Thumbnailator-0.2.6"是一个专门用于生成缩略图的Java包,它为...

    Thumbnailator.jar

    Thumbnailator.jar 是一个Java类库,专为生成图像缩略图而设计,简化了开发者在Java应用程序中创建图片缩略图的过程。这个库以其易用性和高效性著称,允许开发者通过简洁的代码就能实现复杂的图像处理任务。下面将...

    生成图片缩略图Jar包

    在上述代码中,`Thumbnails.of(source)`初始化了一个缩略图生成器,`size(100, null)`设置了目标图片的宽度为100像素,高度自动调整以保持原始图片的比例。`toFile(target)`则将生成的缩略图保存到指定的文件路径。 ...

    java图片压缩文件大小thumbnailator-0.4.8.jar.zip

    java图片压缩文件thumbnailator-0.4.8.jar.zip Thumbnailator是一个用来对图像进行处理以及缩略图的 Java类库,通过很简单的代码即可生成图片缩略图,也可直接对一整个目录的图片生成缩略图。有了它我们就不用在费...

    thumbnailator-0.4.8和说明

    `thumbnailator-0.4.8` 是一个强大的Java图像处理库,适用于各种场景,无论是简单的缩略图生成还是复杂的图像操作。其简洁的API和出色的性能使得它成为Java开发者处理图像任务的理想选择。只需将提供的jar包引入项目...

    thumbnailator图片处理包JAVA

    2. **缩略图生成**:该库的核心功能是生成缩略图。可以设置缩放比例、宽度、高度或最大边长,thumbnailator会智能地保持图像的原始宽高比。例如,`Thumbnails.of("image.jpg").size(100, 100).outputFormat("jpg")....

    google图片处理工具thumbnailator-0.4.8.jar

    1. **缩略图生成**:thumbnailator的最基本功能就是生成缩略图。通过`Thumbnails.of()`方法,可以轻松地读取图片文件并创建缩略图。用户可以指定缩略图的宽度和高度,库会自动保持原始图片的比例。 2. **尺寸调整**...

    thumbnailator图片管理工具

    **thumbnailator图片管理工具...总之,thumbnailator是一个强大的Java图片处理工具,它的简洁API和丰富的功能使得图片管理和缩略图生成变得更加轻松。无论是个人项目还是企业级应用,thumbnailator都能提供可靠的支持。

    thumbnailator-0.4.7

    在描述中提到,Thumbnailator不仅支持单个图片的缩略图生成,还具备批量处理的能力。这意味着你可以一次性处理一个目录下的所有图片,这对于需要大量处理图像的项目而言非常实用。例如,在构建一个图片分享网站或者...

    thumbnailator

    `Thumbnailator` 是一个功能强大的 Java 类库,专为简化和优化图像缩略图生成而设计。这个库以其易用性和灵活性著称,使得开发者无需深入了解图像处理的复杂性,就能快速高效地创建各种尺寸的图片缩略图。以下是对 `...

    PicService_java_thumbnailator_

    在Java开发中,图片处理是一项常见的任务,包括但不限于图片压缩、缩略图生成、裁剪等操作。在本项目中,我们使用了`thumbnailator`这个库来实现这些功能。`thumbnailator`是一个轻量级的Java库,专门用于创建图片的...

    低版本0.3.10Thumbnailator图像处理.zip

    Thumbnailator是一个功能丰富的开源Java库,它提供了一系列简便易用的API,可以帮助开发者快速实现图片的缩略图生成、裁剪、旋转、添加水印等常见操作。 首先,我们要了解Java图片处理的基本概念。在Java中,`java....

Global site tag (gtag.js) - Google Analytics