点击▲关注 “爪哇笔记” 给公众号标星置顶
更多精彩 第一时间直达
爪哇妹上线以来,已累计访问用户2w+,日访问1k+,随之而来的是流量暴增,本来阿里云还有十几块钱余额,结果这几天提示不足。
登录后台查看,发现每天居然产生了好几块大洋的费用。目前OSS是由两部分费用组成,存储费用+下行流量费用。由于之前购买了40G的存储包,这几天产生的费用显然是流量费了。
推荐一款图片处理神器 Thumbnailator
,一个优秀的图片处理的Google
开源Java
类库。处理效果远比Java API
的好。从API
提供现有的图像文件和图像对象的类中简化了处理过程,两三行代码就能够从现有图片生成处理后的图片,且允许微调图片的生成方式,同时保持了需要写入的最低限度的代码量。还支持对一个目录的所有图片进行批量处理操作。
支持的处理操作:图片缩放,格式转换,水印,旋转,保持比例。
pom.xml
引入最新的依赖:
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.11</version>
</dependency>
尺寸变为原来的一半,高质量输出:
/**
* scale 比例
* outputQuality 质量
*/
Thumbnails.of(fromPic)
.scale(0.5f)
.outputQuality(1f)
.toFile(toPic);
不按照比例,指定大小进行缩放:
Thumbnails.of(fromPic)
.size(400,400)
.keepAspectRatio(false)
.toFile(toPic)
旋转图片:
/**
* rotate 角度
* 正数:顺时针
* 负数:逆时针
*/
Thumbnails.of(fromPic)
.size(400,400)
.rotate(90)
.toFile(toPic);
图片加水印:
// 获取原图文件
File file = new File(inputPath);
// ImageIO读取图片
BufferedImage image = ImageIO.read(file);
Thumbnails.of(image)
// 设置图片大小
.size(image.getWidth(), image.getHeight())
// 加水印 参数:1.水印位置 2.水印图片 3.不透明度0.0-1.0
.watermark(Positions.BOTTOM_RIGHT, ImageIO.read(watermark), opacity)
// 输出到文件
.toFile(outputFile);
转换图片格式:
Thumbnails.of(fromPic)
.size(1280,1024)
.outputFormat("png")
.toFile(toPic);
更多案例这里就不一一演示了,目前只使用了图片按比例缩放,大小比之前缩小了不止一倍,效果还是很明显的,小程序加载速度提升也是大大的快。