你下载了一张图,点开,软件却不理你。扩展名写着 .webp,电脑里好像没有东西想处理它。大多数人就是这样认识 WebP 的——不是当成功能,是当成障碍。
WebP 是 Google 在 2010 年推出的图片格式,目标很单纯:用一种格式同时取代 JPG 和 PNG,而且在文件大小上赢过两者。以一个野心这么大的格式来说,它算是成功了。
做法是跟视频压缩借来的。JPG 是 1992 年为静态照片设计的;WebP 的有损模式建立在 VP8 视频编码的技术上——根据邻近的像素预测这一块会长什么样,只存储差异。要存的数据少了,同样的视觉质量下文件就更小。
透明。JPG 根本没有 alpha 通道——透明背景的标志只能存成 PNG。WebP 的有损和无损模式都支持透明,所以一个透明标志可以只有 PNG 的一小部分大。
动画。动态 WebP 取代动态 GIF,而且小得多。GIF 只有 256 色而且压缩效率差;WebP 动画是全彩,通常只有四分之一大。
无损模式。WebP 可以像 PNG 一样完全不丢数据地压缩,同一张图通常比 PNG 小 25% 左右。
老实的答案是:看图,而且常被引用的那些数字偏乐观。一般照片在视觉质量相当的前提下,WebP 大约比 JPG 小 25–35%。纯色图和截图用无损 WebP 对上 PNG,省下的比例也差不多。
省是真的省,但谈不上革命性。WebP 真正改变局面的地方是动画——对上 GIF 的差距很大——以及透明,那是 JPG 从来没有的选项。
浏览器支持已经好几年不是问题了,现在每个浏览器都显示得出 WebP。摩擦在别的地方:
.webp。这就是为什么“WebP 怎么转 JPG”是个这么常见的问题。格式本身没问题,是周边的工具还没全部跟上。
该用:自己网站上的图片——管线你自己控制,省下来的直接变成加载速度。该用在本来要做成 GIF 的动画上。该用在本来会是大文件 PNG 的透明图上。
不该用:当归档格式——原文件要留着。不该用在别人要用未知软件打开的文件上。不该用在任何要送印的东西上。
任何现代浏览器都打得开 WebP:把文件拖进浏览器标签页就看得到。要转成别的软件收的格式,照片转 JPG,如果透明度有意义就转 PNG。
有一件事值得知道:WebP 转 JPG 是有损转有损。WebP 已经丢过一次数据,再编码成 JPG 会再丢一次。转一次看不出来,但同一张图来回转几次就会明显劣化。从你手上最好的来源转一次就好。
WebP 站在一个合理的中间位置:明显优于它要取代的,也明显比将来可能取代它的更被支持。