阿里云oss图片压缩
本文讲述阿里云oss上存储的文件如何在URL上添加特定的处理参数实现图片的压缩,以减少带宽,从而减少成本支出。除了压缩,还支持其他的图片处理操作,详见官网。
一. 阿里云的oss图片的几种压缩模式
- lfit
在矩形区域内的最大图片(区域内会有局部地方没被填充),且等比缩放。 可得出:因为是等比缩放,所以最终生成的图片的分辨率和压缩参数的w、h并不完全相等。 - mfit
在矩形区域外的最小图片(图片会伸到矩形区域外),且等比缩放。 可得出:因为是等比缩放,所以最终生成的图片的分辨率和压缩参数的w、h并不完全相等。 - fill
在mfit模式的基础上,将伸出的图片内容以对称的方式砍掉。 可得出:图片的内容为等比缩放。但是最终生成的图片的分辨率和原图的分辨率并非等比例。 - pad
在lfit模式的基础上,移动图片到对称位置,然后多余部分用白色填充,使得最终的图片充满整个矩形区域。 可得出:图片的内容为等比缩放。但是最终生成的图片的分辨率和原图的分辨率并非等比例。 - fixed
通过缩放,让图片大小与矩形区域完全吻合。 可得出:该模式下,生成的图片会变形。
阿里云提供了
样式
的概念,相当于给一组压缩参数定义一个别名,方便记忆。具体详见
二. 总结
- 图片变形 lfit、mfit、fill、pad都不会发生变形。 fixed会发生变形。
- 图片完整性 lfit、mfit、pad、fixed:图片是完整的 fill: 图片会被裁剪
- 推荐的模式 因为fixed会引起变形、fill会使得图片不完整。所以推荐如下模式:lfit、mfit、pad
- 通过压缩参数处理后,分辨率只会变小而不会变大 通过实际测试得出的结论,官网并没有提及。 比如源图片为100100,压缩参数为w_200、h_200,生成的图片仍旧是100100。
信息来源:
https://www.sofineday.com/aliyun-oss-image-process.html#%E8%85%BE%E8%AE%AF%E4%BA%91%E7%9A%84%E5%9B%BE%E7%89%87%E5%8E%8B%E7%BC%A9
本文由 我爱PHP169 作者:admin 发表,其版权均为 我爱PHP169 所有,文章内容系作者个人观点,不代表 我爱PHP169 对观点赞同或支持。如需转载,请注明文章来源。