实测的差距
开发这个格式的 Google 公布了数字:无损 WebP 图片比 PNG 小 26%,有损 WebP 图片在同等质量下比可比的 JPEG 小 25% 到 34%。这些是在一组测试集上的平均值,不是对您具体文件的承诺,但它们把预期定在了正确的位置。
并排对比
| 属性 | PNG | WebP |
|---|---|---|
| 压缩模式 | 仅无损 | 无损和有损 |
| 典型的无损文件大小 | 基准 | 约小 26% |
| 透明度 | 是 | 是,两种模式都支持 |
| 透明度的代价 | 已包含 | 无损模式下约多出 22% 的字节 |
| 动画 | APNG,支持不齐 | 是,广泛支持 |
| 在当前浏览器中可打开 | 处处可用 | 处处可用 |
| 在旧软件中可打开 | 处处可用 | 有时不行 |
大小和透明度的数字来自 Google 的 WebP 文档,该文档还说明带透明度的有损 WebP 通常比同等的 PNG 小三倍。
WebP 胜出的场合
- 您自己网页上的图片 每一款当前的浏览器都能显示 WebP。图片体积少四分之一,在移动网络上是实打实的速度收益。
- 带照片内容的透明图形 照片背景上的一个标志,正是带 alpha 的有损 WebP 相对 PNG 领先最多的地方。
- 大尺寸截屏和界面截图 平铺色块和锐利文字在无损 WebP 中压缩得很好,所以您保住了确切的像素,又去掉了体积。
- 任何带宽是瓶颈的地方 邮件通讯、文档站点和图片繁多的商品目录。
PNG 仍然正确的场合
把 PNG 留作母版,转换一份交付副本。这一条规则涵盖了下面的大部分情况。
- 以后还要再编辑的文件 反复经过有损格式,每一次都会让图片劣化一点。无损母版彻底避开了这个问题。
- 印刷和设计流程 不少排版和印前软件仍然期望 PNG 或 TIFF。把 WebP 交给印刷厂,只会招来一封您不想收的邮件。
- 任何旧系统要打开的东西 老旧的内部工具、较早的文档查看器和某些上传表单会直接拒绝 WebP。
- 您要发给别人的文件 使用较旧机器的同事可能无法双击打开它。这就是使用WebP 转 PNG 转换器的全部原因。
无损还是有损 WebP
WebP 是共用同一个文件扩展名的两种格式。无损模式完全保留每一个像素。有损模式丢掉编码器判断您不会注意到的细节,文件因此小得多。
标志、图表、截屏,以及任何有硬边缘或文字的内容,选无损。照片和没人会放大看的背景,选有损。文字在有损设置下会在字母周围出现柔和的光晕,这是人们最先注意到的瑕疵。
Vaultaire 转换器两种都提供。在无损模式下,它会把新文件读回来,除非输出确实是像素一致的无损 VP8L 图像,否则锁住下载。alpha 值必须完全一致,对于半透明的颜色,每个预乘的 8 位通道最多可相差 2,因为浏览器原生编码器会对这些值取整。
转换对元数据的影响
转换也是丢掉文件附带内容的一种办法。转换器不会把源文件的 EXIF、ICC、文本、时间或 C2PA 记录复制到新的 WebP 中,随后用一个独立的解析器扫描完成的文件,只要出现任何记录就让下载保持锁定。
当 PNG 来自手机截屏、相机导出或图像生成器时,这一点很重要。如果您想在决定之前先看看附带了什么,元数据查看器会把它们列出来。一切都在浏览器 worker 中运行,文件绝不会被上传。
转换器的实际限制:一张静态 PNG,最大 20 MB,任一边最多 4,096 像素,总计最多 16,000,000 像素。动态 PNG 会在解码前被拒绝,而不是悄悄导出它的第一帧。
PNG 与 WebP 常见问题
WebP 比 PNG 更好吗?
对于要在网页上显示的图片,通常是。Google 测得无损 WebP 比 PNG 小 26%。当某个工具、某台打印机或某位同事需要这种几十年来所有系统都支持的格式时,PNG 仍然更好。
WebP 支持透明度吗?
支持,两种模式都支持。Google 估计无损 WebP 中的 alpha 约多出 22% 的字节,并说带透明度的有损 WebP 通常比同等的 PNG 小三倍。
PNG 转 WebP 会损失画质吗?
无损模式不会,它保留每一个像素。有损模式会刻意改变像素。转换器会把完成的文件读回来,除非无损转换产生了真正的无损 VP8L 图像,否则锁住下载。
什么时候应该保留 PNG?
以后还要再编辑的母版、期望 PNG 的印刷和设计软件、任何旧系统必须能打开的东西,以及存档的截屏。转换一份交付副本,而不是替换原件。
WebP 对 SEO 不利吗?
不。更小的图片加载更快,页面速度会计入排名。提供访客浏览器接受的格式,并保持您原有的 alt 文本和文件命名。
以后可以转回 PNG 吗?
可以,而且 PNG 编码对渲染出的像素是无损的。它无法撤销先前的有损处理,所以一张有损 WebP 转回 PNG 之后,会变成一个包含已劣化像素的大文件。