你下載了一張圖,點開,軟體卻不理你。副檔名寫著 .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 站在一個合理的中間位置:明顯優於它要取代的,也明顯比將來可能取代它的更被支援。