参考:help.aliyun.com/zh/oss/user…
一、图片缩放
注意原图限制
-
图片格式只能是:JPG、PNG、BMP、GIF、WebP、TIFF。
-
GIF格式的图片只支持指定宽高缩小,不支持按百分比缩小(按百分比缩小的情况下,动态图会变成静态图)。
-
GIF格式的图片不支持放大。
-
原图大小不能超过20 MB。如果您需要调整原图大小限制,请在配额中心申请。
- 说明 仅图片缩放参数支持调整原图大小限制,其他图片处理参数不支持调整原图大小限制。
- 宽或高不能超过30,000 px,且总像素不能超过2.5亿 px。
- 动态图片(例如GIF图片)的像素计算方式为
宽*高*图片帧数;非动态图片(例如PNG图片)的像素计算方式为宽*高。
二、格式转换
WebP vs JPEG XL vs AVIF: JPEG 替代之战
因为传统的 PNG-8/PNG-24,JPEG,GIF 各自或多或少都存在一些问题,近些年来它们的替代方案之争也愈演愈烈,核心领跑者可能是 WebP、JPEG XL、AVIF。
再简单了解了解它们:
WebP
WebP 最初由 Google 在 2010 年 9 月发布,其特性总结如下:
- 可以同时提供无损/有损压缩(像 JPEG 一样)和支持透明度(像 PNG 一样)的图片文件格式
- 支持动画效果(像 GIF 一样)
- WebP 主要优势在于有损编码,其无损编码的性能和压缩比表现一般
- WebP 的缺点在于其编解码性能不是特别理想
- 在兼容性方面,除了 IE,基本已经得到了全系列浏览器支持
对于复杂的图像(比如照片)来说,WebP 无损编码表现并不好,但有损编码表现却非常棒。相近质量的图片解码速度 WebP 相距 JPEG 也已经相差不大了,而文件压缩比却能提升不少。
oss转换
您可以通过格式转换参数,转换存储在OSS内原图的格式
参数说明
操作名称:format
参数说明如下:
| 取值范围 | 描述 |
|---|---|
| jpg | 将原图保存为JPG格式。重要不支持将存在透明通道的HEIC格式的图片保存为JPG格式。 |
| png | 将原图保存为PNG格式。 |
| webp | 将原图保存为WebP格式。 |
| bmp | 将原图保存为BMP格式。 |
| gif | 原图为GIF图片则继续保存为GIF格式;原图不是GIF图片,则按原图格式保存。 |
| tiff | 将原图保存为TIFF格式。 |
| heic | 将原图保存为HEIF格式。说明仅华北3(张家口)、华东2(上海)、华南1(深圳)、华东1(杭州)、华北2(北京)、新加坡地域支持HEIF格式。 |
| avif | 将原图保存为AVIF格式。说明仅华北3(张家口)、华东2(上海)、华南1(深圳)、华东1(杭州)、华北2(北京)、新加坡地域支持AVIF格式。 |
注意事项
-
图片处理包含缩放操作时,建议将格式转换参数放到处理参数的最后。
例如
image/resize,w_100/format,jpg -
图片处理包含缩放和水印操作时,建议将格式转换参数添加在缩放参数之后。
例如
image/resize,w_100/format,jpg/watermark,... -
如果原图没有透明通道,转换成PNG、Web、BMP等存在透明通道的格式,默认会把透明填充成白色。
-
OSS不支持将透明色填充为黑色。
三、图片渐进显示
您可以通过渐进显示参数,将OSS内存储的原图修改为渐进显示。本文介绍设定图片渐进显示时所用到的参数及示例。
当网络环境较差或图片较大时,图片在网页上有两种显示方式:
- 标准显示:图片会按照从上到下的顺序一行一行地加载显示。
- 渐进显示:先显示整个图片的模糊轮廓,然后逐渐加载直至显示完整的图片。
目前,图片处理的渐进显示操作仅适用于将原图处理为JPG格式图片的情况,若原图不为JPG格式的图片,您需要增加format,jpg参数将图片改为JPG格式。
示例
以一张5.7M的图片来做对比添加参数interlace,1图片在1~2秒之间就能完成展示,直接访问图片需要再图片完全加载后展示用时将近7s。
四、质量变换
质量变换操作是使用原图本身的格式对图片进行压缩。您可以通过质量变换参数,修改存储在OSS内原图的质量。本文介绍对图片进行质量变换时所用到的参数及示例。
质量变换仅支持JPG和WebP,其他图片格式不支持。
参数说明
操作名称:quality
参数说明如下:
| 参数 | 描述 | 取值范围 |
|---|---|---|
| q | 设置图片的相对质量,对原图按百分比进行质量压缩。例如原图质量为100%,添加quality,q_90参数会得到质量为90%的图片。原图质量为80%,添加quality,q_90参数会得到质量72%的图片。说明只有JPG格式的原图添加该参数,才可以决定图片的相对质量。如果原图为WebP格式,添加该参数相当于指定了原图绝对质量,即与参数Q的作用相同。 | [1,100] |
| Q | 设置图片的绝对质量,将原图质量压缩至Q%,如果原图质量小于指定参数值,则按照原图质量重新进行压缩。例如原图质量是95%,添加quality,Q_90参数会得到质量90%的图片。原图质量是80%,添加quality,Q_90只能得到质量80%的图片。说明该参数只能对保存格式为JPG、WebP的图片使用,对其他格式的图片无效果。 | [1,100] |