Thumbnailator使用

一、图片缩放

来自original.jpg的图像被调整大小,然后保存到thumbnail.jpg

1、size(宽度, 高度),图片通过高度或宽度按比例缩小
Thumbnails.of(new File("original.jpg"))
        .size(160, 160)
        .toFile(new File("thumbnail.jpg"));
Thumbnails.of("original.jpg")
        .size(160, 160)
        .toFile("thumbnail.jpg");
File file = new File("original.jpg");
Thumbnails.of(new FileInputStream(file))
        .size(160, 160)
        .toFile("thumbnail.jpg");
2、scale(比例),通过指定比例缩放
Thumbnails.of("original.jpg")
        .scale(0.75)
        .toFile("thumbnail.jpg");
3、keepAspectRatio(false)是否按比例缩放,默认是按照比例缩放的
Thumbnails.of("original.jpg")
        .size(160, 160)
        .keepAspectRatio(false)
        .toFile("thumbnail.jpg");

二、旋转

1、rotate(角度),正数:顺时针,负数:逆时针
Thumbnails.of("original.jpg")
        .rotate(90)
        .toFile("thumbnail.jpg");

三、水印

1、.watermark()添加水印
  • 可以从Positions枚举中选择定位
  • 可以通过更改最后一个参数来调整缩略图的不透明度(或相反地,透明度),其中0.0f是缩略图是完全透明的,而1.0f是水印是完全不透明的
Thumbnails.of("original.jpg")
        .watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File("watermark.png")), 0.5f)
        .outputQuality(0.8)
        .toFile("thumbnail.jpg");

四、创建缩略图并写入OutputStream

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

五、将缩略图写入特定目录

此示例将获取源图像,并将缩略图作为文件写入destinationDir(path / to / output目录),同时重命名它们,增加前置文件名。
File destinationDir = new File("path/to/output");

Thumbnails.of("apple.jpg", "banana.jpg", "cherry.jpg")
        .size(200, 200)
        .toFiles(destinationDir, Rename.PREFIX_DOT_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);

因此,缩略图将被写为以下文件:

  • path/to/output/apple.jpg
  • path/to/output/banana.jpg
  • path/to/output/cherry.jpg

地址

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东黧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值