thumbnailator 一个好用的图像处理工具集

thumbnailator是一个功能全面、使用简单的图像处理工具集,提供缩略图创建、旋转、加水印等功能。通过示例代码展示如何使用thumbnailator进行基本的图像处理操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

thumbnailator 是一个好用的图像处理工具集,可以用来处理缩略图,功能全面,使用简单,目前的版本是 0.4.6 。今天搜索了下开源中国,竟然没收录这个工具(保留原文,此作备注:此处弄错了,OSC中收录了此工具并介绍),特推荐下。有需要的可以从这里下载:http://code.google.com/p/thumbnailator/,maven下也可以使用。有了这么好用的工具,就不用我们再去造轮子了。

先摘几段网站原文API 测试,很简单,一看就懂。

解释其中几个:

size(160, 160)  图像的尺寸,宽,高

rotate(90)旋转90度

watermark()加水印,在其中可以指定水印的大小和水印图

scale()缩放比例,scale(1.0f)为不缩放

sourceRegion(int x,int ,y,int width,int height)在某位置切割图片

Create a thumbnail from an image file

Thumbnails.of(new File("original.jpg")).size(160, 160).toFile(new File("thumbnail.jpg"));

In this example, the image from original.jpg is resized, and then saved to thumbnail.jpg.

Alternatively, Thumbnailator will accept file names as a String. Using File objects to specify image files is not required:

Thumbnails.of("original.jpg").size(160, 160.toFile("thumbnail.jpg");

This form can be useful when writing quick prototype code, or when Thumbnailator is being used from scripting languages.

anchor.gifCreate a thumbnail with rotation and a watermark

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.8f).toFile(new File("image-with-watermark.jpg"));

In this example, the image from original.jpg is resized, then rotated to clockwise by 90 degrees, then a watermark is placed at the bottom right-hand corner which is half transparent, then is saved to image-with-watermark.jpg with 80% compression quality settings.

anchor.gifCreate a thumbnail and write to an OutputStream

OutputStream os = ...; Thumbnails.of("large-picture.jpg").size(200, 200).outputFormat("png").toOutputStream(os);

In this example, an image from the file large-picture.jpg is resized to a maximum dimension of 200 x 200 (maintaining the aspect ratio of the original image) and writes the that to the specified OutputStream as a PNG image.

anchor.gifCreating fixed-size thumbnails

BufferedImage originalImage = ImageIO.read(new File("original.png")); BufferedImage thumbnail = Thumbnails.of(originalImage).size(200, 200).asBufferedImage();

The above code takes an image in originalImage and creates a 200 pixel by 200 pixel thumbnail using and stores the result in thumbnail.

anchor.gifScaling an image by a given factor

BufferedImage originalImage = ImageIO.read(new File("original.png")); BufferedImage thumbnail = Thumbnails.of(originalImage).scale(0.25f).asBufferedImage();

The above code takes the image in originalImage and creates a thumbnail that is 25% of the original image, and uses the default scaling technique in order to make the thumbnail which is stored in thumbnail.

anchor.gifRotating an image when creating a thumbnail

BufferedImage originalImage = ImageIO.read(new File("original.jpg")); BufferedImage thumbnail = Thumbnails.of(originalImage) .size(200, 200).rotate(90).asBufferedImage();

The above code takes the original image and creates a thumbnail which is rotated clockwise by 90 degrees.

anchor.gifCreating a thumbnail with a watermark

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();

As shown, a watermark can be added to an thumbnail by calling the watermark method.


转载于:https://my.oschina.net/guhai2004/blog/175801

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值