2024年大数据最新用Java给您的图片瘦身之Thumbnailator技术(2),2024年最新2024大厂大数据开发面试集合

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

前言

在我们的日常企业应用开发当中,会碰到很多的图片素材访问的场景。比如社交类应用,您会在朋友圈中存放大量的图片,还有一些在线旅游或者直播的行业,那些图片资源更是不胜枚举,试想我们的用户在移动端或者网页端上传了一张512KB的图片,如果我们在后台没有加以处理就直接丢给前端展示,那对企业的带宽和流量来说,无疑是一个巨大的灾难。因此,随着访问人数的越来越多,存储图片的数量也越来越大,我们一定要对图片进行相应的瘦身,减少它在网络上传输的大小,也能提高系统的访问速度。

由此,本文将重点介绍在Java后台开发应用当中,使用thumbnailator来进行图片资源的裁剪、缩小等瘦身操作,通过Java实际编码的方式加上实际图片的裁剪能实操,让您了解掌握thumbnailator瘦身方法。

一、Thumbnailator概况

1、Thumbnailator是什么?

Thumbnailator 是一个用来生成图像缩略图的 Java 类库,通过很简单的代码即可生成图片缩略图,也可直接对一整个目录的图片生成缩略图。

2、Thumbnailator能做什么?

Thumbnailator是一款高性能的java缩略图类库。支持的处理操作:图片缩放,区域裁剪,水印,旋转,保持比例。

3、Thumbnailator 的github地址

Thumbnailator是托管在github上的一个开源项目,github地址为:thumbnailator github地址

二、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%来进行缩放。

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

s/618545628)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值