网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
二、Thumbnailator具体使用步骤
1、使用Maven构建,在Pom.xml中引入相关资源
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.8</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
2、创建一个指定高为160和宽为160的缩略图
Thumbnails.of(new File("E:/ys/IMG_4004.JPG"))
.size(160, 160)
.toFile(new File("E:/ys/IMG_4004_160.JPG"));
注意:Thumbnails.of 也可以直接接受一个String类型的文件路径,而不需要传入一个File。这两种形式都是Thumbnails支持的参数。原图是5184*3456的5.51MB的照片
按照160*160裁剪后,生成的结果图已经变得非常小了,大小只占2.5kb,为什么这里的高度不是160呢?你可以思考一下,主要是因为裁剪时为了保持等比率缩小,因此就变成了107.
3、按比例缩放
@Test
public void test() throws IOException {
Thumbnails.of("E:/ys/IMG_4004.JPG")
.scale(0.5)
.toFile("E:/ys/IMG_4004_scale0.5.jpg");
}
这里可以明显的看到这里得到的结果图片的高度和宽度都是原来的一半。scale参数的值从0-1,中间可以取小数,表示百分比的意思。比如这里设置为0.5表示,表示高度和宽度按照50%来进行缩放。
4、按照图片质量裁剪
组件支持按照最终结果的质量进行缩放,通过设置outputQuality(d),d为一个0-1的值,也是一个百分比的数值。下面的代码表示图片大小保持不变,输出质量为原来的50%。
@Test
public void test3() throws IOException {
Thumbnails.of("E:/ys/IMG_4004.JPG")
.scale(1f)
.outputQuality(0.3f)
.toFile("E:/ys/IMG_4004_s1q0.3.jpg");
}
4、旋转和添加水印效果
下面是thumbnails在旋转和质量输出的比例控制,旋转使用角度来进行表示。
@Test
public void test8() throws IOException {
BufferedImage watermarkImage = ImageIO.read(new File("E:/ys/yl.jpg"));
![img](https://img-blog.csdnimg.cn/img_convert/3e884b86f23873aebe57d09a92834ed7.png)
![img](https://img-blog.csdnimg.cn/img_convert/0b410a29b585feff957ce8d3c2d98490.png)
![img](https://img-blog.csdnimg.cn/img_convert/cdb41680af9e24f10669d0ca12436bd7.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**
目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**