无敌了,Google 顶级项目开源了!!!

共 1810字,需浏览 4分钟

 ·

2021-05-05 13:06


1、咱们的诉求

大家好,作为开发者,平时在开发的过程中,图片处理的需求,想必很多朋友都会用到,比如这些功能:

  1. 图片缩放(按照指定大小缩放、按比例缩放)

  2. 图片旋转

  3. 图片添加水印

  4. 图片裁剪

  5. 图片格式转换等

然而,图片处理的开源框架并不多,网络上流传的一些代码,虽然可以实现这些功能,但是大多数用起来都特别的繁琐。

为了解决这个问题,我在网上找了很久,功夫不负有心人,终于找到了一款特别好用的开源框架,拿出来和大家分享。

2、图片处理一哥:Thumbnailator

Thumbnailator是 Google 开源的一款图片处理 java 类库,谷歌这个公司,就不用多说了吧,技术在全球都能够排上号的,所以他们开源的东西,基本上都是顶级的,Thumbnailator 算是目前开源项目中,最优秀的图片处理软件,暂时还没有发现比这个更好用的。

这款软件可以实现上面所提到的所有功能,并且用起来特别的方便,性能也特别的高。

先来几个案例,感受一下他的威力

将图片缩放到 200×300 的大小

Thumbnails.of("源图片文件")
    .size(200300)
    .toFile("目标图片文件");

将图片按等比例缩放到 1/4 大小

Thumbnails.of("images/a380_1280x1024.jpg")
    .scale(0.25f)
    .toFile("c:/a380_25%.jpg");

旋转图片 90 度

Thumbnails.of("images/a380_1280x1024.jpg")
    .rotate(90)
    .toFile("c:/a380_rotate+90.jpg");

添加水印图片

//watermark(位置,水印图,透明度)
Thumbnails.of("images/a380_1280x1024.jpg")
    .size(1280,1024)
    .watermark(Positions.BOTTOM_RIGHT,ImageIO.read(newFile("images/watermark.png")),0.5f)
    .outputQuality(0.8f)
    .toFile("c:/a380_watermark_bottom_right.jpg");

看了上面的代码,大家的感觉是什么?

是不是代码特别的简洁,确实,如果大家用过谷歌开源的其他框架,比如 guava,都会有同样的特色,代码特别的简洁,可能实现某个功能其内部的代码很复杂,但是谷歌的开发者将复杂的细节都给屏蔽了,让开发者用起来就是爽,看来牛逼的公司就是不一样啊。

好了,这个库内部还有更多好用的功能,这里就不细说了,github 上都有,百度 thumbnailator 也会出来很多资料,这里就不一一介绍了。

本文的主要目的是让大家知道图片处理有这么好的一个解决方案,如果大家以后有处理图片的需求,能够想到这个解决方案,这篇文章的目的也就达到了,至少能够让大家少走一些弯路。

3、git 地址

这个库是 java 开发的,源码在 github 上,大家都可以看到,有兴趣的也可以对其进行扩展

https://github.com/coobird/thumbnailator

4、领取《月薪 5 万计算机必读电子书》

计算机必读电子书,进行了详细的分类,自己整理的,绝不是在网上那种打包下载的,而是自己需要学到某个方向的时候去网上挨个找的,最后汇总而成,这部分我是会不断把它完善的,当成自己的小电子书库,不多,但贵在精。

获取方式,点击下面链接,发送:计算机

浏览 27
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报