Thumbnailator 学习

  • 简介

Thumbnailator是针对java语言生成缩略图的类库
此类库的github地址

  • 特点及相关示例

  • 从现有图片创建高质量缩略图
  • 在缩略图中嵌入水印(如徽标)
  • 调整水印的透明度,从透明到不透明(0%--100%)
  • 缩略图的反转
  • 示例代码

官方示例地址
所需maven依赖

<dependency>
    <groupId>net.coobird</groupId>
    <artifactId>thumbnailator</artifactId>
    <version>0.4.8</version>
</dependency>

我的示例代码

@Test
public void test1() throws IOException {
    //生成缩略图
    Thumbnails.of(new File("e:/img/test.jpg")).size(160, 160).toFile(new File("e:/img/test1.jpg"));
}
@Test
public void test2() throws IOException {
    Thumbnails.of("e:/img/test.jpg")
            .size(200,200)
            .outputFormat("png")
            .toFile("e:/img/test2.png");
}
@Test
public void test3() throws IOException {
    //创建带水印和反转的缩略图
    Thumbnails.of(new File("e:/img/test.jpg"))//原图片
            .size(160,160)//缩略的尺寸(宽高)
            .rotate(90)//旋转90度
            .watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File("e:/img/water.png")),0.5f)//放置水印图片的位置以及透明度
            .outputQuality(0.8f)//输出图片的质量
            .toFile(new  File("e:/img/test3.jpg"));//图片的输出位置
}
@Test
public void test4() throws IOException {
    Thumbnails.of("e:/img/test.jpg")
            .scale(0.5)//按比例缩放
            .toFile("e:/img/test4.jpg");
}
@Test
public void test5() throws IOException {
    //把缩略图写到指定目录
    File destinationDir = new File("e:/img/output");
    destinationDir.mkdirs();
    Thumbnails.of("e:/img/test.jpg","e:/img/test_2.jpg")
            .size(200,200)
            .toFiles(destinationDir, Rename.PREFIX_DOT_THUMBNAIL);
}

我的示例中需要用的图片

test.jpg
test_2.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,469评论 19 139
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,763评论 0 17
  • 通过 生成二维码之 Java (Google zxing) 篇 我们可以实现简单二维码的生成, 但是二维码显示却过...
    jnil阅读 8,934评论 1 5
  • 一、流的概念和作用。 流是一种有顺序的,有起点和终点的字节集合,是对数据传输的总成或抽象。即数据在两设备之间的传输...
    布鲁斯不吐丝阅读 13,420评论 2 95
  • 字符串有整型的相互转换 向文件末尾添加内容 得到当前方法的名字 转字符串到日期 或者是: 使用JDBC链接Orac...
    jasonlu1208阅读 1,482评论 0 3