`

java图片处理Thumbnailator 包的使用

 
阅读更多
从图像文件创建缩略图

Thumbnails.of(new File("original.jpg"))
        .size(160, 160)
        .toFile(new File("thumbnail.jpg"));
在本例中,从图像original.jpg调整大小,然后保存到thumbnail.jpg。

另外,Thumbnailator将接受文件名作为String。使用File对象指定的图像文件不要求:

Thumbnails.of("original.jpg")
        .size(160, 160)
        .toFile("thumbnail.jpg");
编写快速原型代码时,或当这种形式是非常有用Thumbnailator正在从脚本语言使用。

创建带旋转和水印的缩略图

Thumbnails.of(new File("original.jpg"))
        .size(160, 160)
        .rotate(90)
        .watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File("watermark.png")), 0.5f)
        .outputQuality(0.8)
        .toFile(new File("image-with-watermark.jpg"));
在本实施例中,图像从original.jpg被调整大小,然后旋转90度,然后水印被放置在底部右角是半透明的顺时针,然后被保存到image-with-watermark.jpg与80%压缩质量设置。

创建缩略图并写入 OutputStream

OutputStream os = ...;

Thumbnails.of("large-picture.jpg")
        .size(200, 200)
        .outputFormat("png")
        .toOutputStream(os);
在本例中,从文件的图像large-picture.jpg被调整大小为200×200(保持原始图像的高宽比)的最大尺寸并写入,要指定OutputStream为PNG图像。

创建固定大小的缩略图

BufferedImage originalImage = ImageIO.read(new File("original.png"));

BufferedImage thumbnail = Thumbnails.of(originalImage)
        .size(200, 200)
        .asBufferedImage();
上面的代码需要在一个图像originalImage,并通过使用200万像素的缩略图创建一个200像素并存储结果thumbnail。

按给定因子缩放图像

BufferedImage originalImage = ImageIO.read(new File("original.png"));

BufferedImage thumbnail = Thumbnails.of(originalImage)
        .scale(0.25)
        .asBufferedImage();
上述代码发生在图像中originalImage,并创建一个缩略图,它是原始图像的25%,并使用默认缩放技术,以使存储在缩略图thumbnail。

创建缩略图时旋转图像

BufferedImage originalImage = ImageIO.read(new File("original.jpg"));

BufferedImage thumbnail = Thumbnails.of(originalImage)
        .size(200, 200)
        .rotate(90)
        .asBufferedImage();
上述代码采用原始图像并创建顺时针旋转90度的缩略图。

创建带有水印的缩略图

BufferedImage originalImage = ImageIO.read(new File("original.jpg"));
BufferedImage watermarkImage = ImageIO.read(new File("watermark.png"));

BufferedImage thumbnail = Thumbnails.of(originalImage)
        .size(200, 200)
        .watermark(Positions.BOTTOM_RIGHT, watermarkImage, 0.5f)
        .asBufferedImage();
如图所示,水印可以通过调用被添加到缩略图watermark方法。

的定位可从被选择Positions的枚举。

缩略图的不透明性(或相反地,透明度)可以通过改变最后一个参数进行调节,其中,0.0f作为该缩略图是完全透明的,并1.0f作为水印是完全不透明的。

将缩略图写入特定目录

File destinationDir = new File("path/to/output");

Thumbnails.of("apple.jpg", "banana.jpg", "cherry.jpg")
        .size(200, 200)
        .toFiles(destinationDir, Rename.PREFIX_DOT_THUMBNAIL);
这个例子将源图像,并写缩略图它们作为文件destinationDir(path/to/output目录),而与他们重命名thumbnail.前缀的文件名。

因此,缩略图将作为文件写入:

path/to/output/thumbnail.apple.jpg
path/to/output/thumbnail.banana.jpg
path/to/output/thumbnail.cherry.jpg
也可以在写入指定目录时保留原始文件名:

File destinationDir = new File("path/to/output");

Thumbnails.of("apple.jpg", "banana.jpg", "cherry.jpg")
        .size(200, 200)
        .toFiles(destinationDir, Rename.NO_CHANGE);


public static void main(String[] args) throws Exception {
		
		File oldimg = new File("F:/zzzzzbbbbb/0.jpg");
		
        //把图片变成400x500的缩略图 
		Thumbnails.of(oldimg).size(400,500).toFile("F:/zzzzzbbbbb/01.jpg");//此方法会遵循原图高宽比例
		Thumbnails.of(oldimg).size(400,500).keepAspectRatio(false).toFile("F:/zzzzzbbbbb/02.jpg");//不遵循原图比例
		
		//按照指定比例进行缩小和放大
		Thumbnails.of(oldimg).scale(0.2).toFile("F:/zzzzzbbbbb/03.jpg");//缩小
		Thumbnails.of(oldimg).scale(2).toFile("F:/zzzzzbbbbb/04.jpg");//放大
		
		//图片旋转rotate(90)
		Thumbnails.of(oldimg).size(400,500).rotate(90).toFile("F:/zzzzzbbbbb/05.jpg");//顺时针旋转90度
		
		//图片尺寸不变,压缩图片文件大小
		//图片尺寸不变,压缩图片文件大小outputQuality实现,参数1为最高质量  
		Thumbnails.of(oldimg).scale(1f).outputQuality(0.25f).toFile("F:/zzzzzbbbbb/06.jpg"); 
		
		//创建带旋转和水印的缩略图
		//在本实施例中,图像从original.jpg被调整大小,然后旋转90度,然后水印被放置在底部右角是半透明的顺时针,
		//然后被保存到image-with-watermark.jpg与80%压缩质量设置。
		Thumbnails.of(oldimg)
        .size(160, 160)
        .rotate(90)
        .watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File("F:/zzzzzbbbbb/water.jpg")), 0.5f)
        .outputQuality(0.8)
        .toFile(new File("F:/zzzzzbbbbb/07.jpg"));
		
	}
分享到:
评论

相关推荐

    java 图片处理 thumbnailator-0.4.1.jar

    java开源 图片处理 thumbnailator-0.4.1.jar,最新jar包

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

    thumbnailator不仅支持基本的缩放操作,还具备旋转、裁剪、添加水印等高级功能,极大地丰富了Java图片处理的能力。 **核心功能与特性:** 1. **缩略图生成**:thumbnailator的核心功能是生成缩略图,它能快速地将...

    thumbnailator图片处理包JAVA

    "thumbnailator图片处理包JAVA"是一个专门为Java开发者设计的库,用于方便地创建、修改和转换图像,尤其是生成缩略图。thumbnailator以其高效、易用和灵活性著称,是许多Java项目中处理图像需求的理想选择。这个...

    thumbnailator图片处理 jar.rar

    Thumbnailator 是一个优秀的图片处理的Google开源Java类库。处理效果远比Java API的好。从API提供现有的图像文件和图像对象的类中简化了处理过程,两三行代码就能够从现有图片生成处理后的图片,且允许微调图片的...

    thumbnailator-0.4.8.jar包,和压缩图片工具类

    总之,thumbnailator-0.4.8.jar是一个强大且易用的Java图片处理库,可以帮助开发者快速实现图片压缩和多种图像操作。它简化了Java中的图像处理流程,使得即使是对图像处理不熟悉的开发者也能轻松上手。结合提供的...

    Thumbnailator图片压缩Demo以及jar包

    在这个"Thumbnailator图片压缩Demo以及jar包"中,包含的主要内容是thumbnailator-0.4.8.jar库文件和一个示例代码ThumbnailatorDemo.java。 thumbnailator-0.4.8.jar是Thumbnailator库的核心组件,包含了所有用于...

    thumbnailator所需jar包.zip

    【thumbnailator所需jar包.zip】是一个包含Java库thumbnailator的压缩文件。thumbnailator是一个非常流行的开源Java库,专为创建、修改和转换图像文件而设计,尤其在处理缩略图时表现出色。这个库简化了Java应用程序...

    PicService_java_thumbnailator_

    总的来说,`thumbnailator`是一个强大且灵活的Java图片处理库,它的易用性和丰富的功能使得在Java项目中处理图片变得更加便捷。通过深入理解和灵活运用`thumbnailator`,我们可以创建出满足各种需求的图片处理服务。

    thumbnailator图片管理工具

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

    thumbnailator jar包

    同时,thumbnailator支持内存管理和流处理,这意味着它可以在不完全加载整个图像到内存的情况下进行处理,有效避免了因大图片导致的内存溢出问题。 除了基本的缩略图生成,thumbnailator还支持更复杂的图像操作,如...

    低版本0.3.10Thumbnailator图像处理.zip

    总的来说,"低版本0.3.10Thumbnailator图像处理.zip"中的Thumbnailator-0.3.10.jar是一个强大的Java图片处理工具,它简化了复杂的图片操作,让开发者能够更专注于应用程序的核心逻辑。如果你正在寻找一个轻量级且...

    Thumbnails图片处理压缩/裁剪java代码纯净示例+注释详细

    在Java开发中,图片处理是一项常见的任务,包括压缩、裁剪、旋转以及添加水印等。`Thumbnails`是一个强大的库,它简化了这些操作,提供了直观且易于使用的API。本示例将深入讲解如何使用`Thumbnails`库进行图片处理...

    图片压缩jar包;thumbnailator 版本0.4.8

    总的来说,thumbnailator是一个强大且易于使用的Java库,适用于各种图片处理需求,特别是图片压缩和生成缩略图。通过灵活的API,开发者可以快速集成到自己的项目中,实现高效且高质量的图片处理功能。

    java图片浏览管理系统

    Java图片浏览管理系统可能使用了其中之一来构建用户界面,包括按钮、文本框、滚动条、菜单等元素。 3. **文件I/O操作**:系统需要读取并管理图片文件,这就涉及到Java的File类和IO流。通过File类可以获取文件路径、...

    Thumbnailator demo

    在这个项目中,你可以找到使用Thumbnailator库的Java代码,它们实现了图片处理的逻辑。 9. **lib 目录**:这个目录可能包含了项目依赖的外部库,比如Thumbnailator.jar。在构建项目时,这些库会被添加到类路径中。 ...

    Thumbnailator必需jar包及api

    Thumbnailator是一款非常实用的Java第三方图像处理库,它提供了丰富的功能,如添加图片水印、旋转图片、按比例缩放图片等。这个库使得在Java应用程序中进行图像操作变得异常简单,无需深入学习复杂的图像处理API。在...

    thumbnailator-0.4.8和说明

    4. **流式处理**:除了处理文件,`thumbnailator` 还支持直接处理`InputStream`和`OutputStream`,这在处理网络上的图片或生成缩略图并上传到服务器时非常有用。 5. **裁剪与旋转**:`thumbnailator` 提供了裁剪和...

    Thumbnailator.jar

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

    thumbnailator-0.4.8.zip

    总的来说,"thumbnailator-0.4.8.zip" 提供了一个强大的图片处理解决方案,尤其是对于需要生成缩略图或进行其他图片操作的Java开发者来说,这是一个非常实用的工具包。只需将 "thumbnailator-0.4.8.jar" 添加到项目...

    thumbnailator-0.4.7

    3. thumbnailator-0.4.7-javadoc.zip:这是该库的Java文档,包含了详细的API说明,对于开发者来说,是理解和使用Thumbnailator的重要参考资料。 使用Thumbnailator时,你可以通过简单的几行代码实现缩略图的生成。...

Global site tag (gtag.js) - Google Analytics