什么是 WebP 格式圖片?WebP 是由谷歌(google)開發的一種旨在加快圖片加載速度的圖片格式,並能節省大量的服務器寬帶資源和數據空間,在壓縮率上比 JPEG 格式更優越,同時提供了有損壓縮與無損壓縮的圖片文件格式,在質量相同的情況下,WebP 格式圖像的體積要比 JPEG 格式圖像小 40%。WebP 在各大互聯網公司已經使用得很多了,國外的有 Google(自家的東西肯定要用啦,Chrome Store 甚至已全站使用 WebP)、Facebook 和 ebay,國內的有淘寶、騰訊和美團等。
前言
其實在網絡傳播中圖片已經必不可少,現在的各個網站也都是圖文並茂,圖片也就成了流量的大頭,不論是 PC 端還是移動端。雖然國民的帶寬都在提升,但是與此同時各個網站以及對圖片質量更高的追求,同樣也使得體驗沒有較大的提升,這也是很多網站使用懶加載的方式載入圖片,間接的可以提升網站的打開速度和用戶體驗。
但是這一切都還不夠,如何保證在圖片的高質量不降低的前提下縮小圖片體積,成為了一個有價值和值得探索的並改變事情。如今對於 JPEG、PNG 和 GIF 這些圖片格式的優化幾乎已經達到了極致,而 Google 就給了我們一個新選擇:WebP,開辟了一個圖片格式的新局面。
WebP 的優勢
WebP 和PNG、JPG圖片在同等質量下壓縮到體積最小后,WebP壓縮比最大,這樣我們來隨便來一張網上的實測報告
我們自己也可以測試一下:
准備一張體積相對比較大的圖片,JPG或PNG格式的都行。
把原圖在壓縮網站上壓縮一下,個人推薦PNG或JPG圖片壓縮網站 tinypng ,這個壓縮網站一般都是保證質量的同時,把體積壓縮到最小。
把原圖通過 又拍雲 網站轉化成WebP格式圖片。
最后你可以進行原圖、壓縮圖、WebP圖的體積和質量的對比了。
在這里給大家介紹幾個轉成WebP圖的網站:又拍雲(https://www.upyun.com/webp) (推薦) 智圖(https://zhitu.isux.us/) isparta(http://isparta.github.io/)
需要注意的是,在我測試一些圖片的時候,發現個別原圖體積比較小的圖片(低於10K、或者20K一下,具體什么為界限並不固定)轉化成WebP圖反而比壓縮圖體積大,這時我們就沒必要使用WebP圖了,當然選擇質量保證的情況,選擇體積相對較小的了。所以說在質量保證的情況下,WebP圖也不是絕對比壓縮圖體積小。
WebP 的兼容性與缺點
既然是一個相對較新的技術,所以對於目前市面上能否完美的兼容,其可用和實用性就變得很現實了,再好的東西如果沒有好的兼容性,也是非常難以普及和被廣泛使用的,同時也可能會增加使用和操作的難度。根據對目前國內瀏覽器占比與 WebP 的兼容性分析,大約有 50% 以上的國內用戶可以直接體驗到 WebP,如果你的網站以圖片為主,或者你的產品基於 Chromium 內核,建議體驗嘗試。PC 端 chorme 10+(14 ~ 16 有渲染 bug)、opera 11+ 、safri 均支持 webp 格式圖片,Firefox 也曾拒絕支持 WebP,如果你打算在 App 中使用 WebP,除了 Android4.0 以上提供的原生支持外,其他版本以及 iOS 都可以直接使用官方提供的解析庫。
Webp使用理由:
目前網絡中圖片仍然是占用流量較大的一部分,對於移動端更是如此,因此,如何在保證圖片視覺不失真前提下縮小體積,對於節省帶寬和電池電量十分重要。
然而目前對於JPEG、PNG、GIF等常用圖片格式的優化已幾乎達到極致,因此Google於2010年提出了一種新的圖片壓縮格式 — WebP,給圖片的優化提供了新的可能。
WebP為網絡圖片提供了無損和有損壓縮能力,同時在有損條件下支持透明通道。據官方實驗顯示:無損WebP相比PNG減少26%大小;有損WebP在相同的SSIM(Structural Similarity Index,結構相似性)下相比JPEG減少25%~34%的大小;有損WebP也支持透明通道,大小通常約為對應PNG的1/3。
同時,谷歌於2014年提出了動態WebP,拓展WebP使其支持動圖能力。動態WebP相比GIF支持更豐富的色彩,並且也占用更小空間,更適應移動網絡的動圖播放。
WebP的優勢在於它具有更優的圖像數據壓縮算法,在擁有肉眼無法識別差異的圖像質量前提下,帶來更小的圖片體積,同時具備了無損和有損的壓縮模式、Alpha 透明以及動畫的特性,在 JPEG 和 PNG 上的轉化效果都非常優秀、穩定和統一。
總結
WebP是一款比JPG、PNG等在壓縮方面更加優越的圖片格式,同時也不會影響其圖片質量,在未來絕對是值得普及的一款圖片格式。當然現在各大瀏覽器對WebP的兼容性還是有局限的,但是這也不耽誤我們使用WebP圖片。理論上,我們可以通過判斷瀏覽器支不支持WebP格式的圖片來決定我們的平台是放WebP圖片還是其它圖片。移動應用 或 網頁游戲 ,界面需要大量圖片,可以嵌入 WebP 的解碼包,能夠節省用戶流量,提升訪問速度優勢:
WEBP圖片格式:
2010年谷歌推遲的圖片格式,專門用來在web中使用, 壓縮率只有jpg的2/3或者更低; 第一個版本的webp圖片格式是有損的, 新版本中webp圖片是無損的。
相對於png圖片,webp比png小了45%,但是缺點是你壓縮的時候需要的時間更久了;
優點:
體積小巧;
缺點 :
- 壓縮時間長,大概是png的8倍左右(不過一般都是在服務端壓縮,客戶端解碼,所以服務端可以做個預壓縮)
- 解碼時間比png長,大概幾十毫秒。WebP是節省了流量(圖片小),增加了解碼時間,換句話說就是:同樣的圖片,網絡越快(圖片更小的WebP就沒有明顯優勢),圖片越多(WebP要解碼),WebP比png要慢。
- UIWebView,WKWebView都不支持WebP。(UIWebView可以用NSUrlProtocol來解決,但是WKWebView還沒有太完美的辦法)
- 不支持流式解壓縮(即圖片加載的時候會由模糊慢慢變清晰的過程,WebP貌似不支持這種解壓縮方式)
- 兼容性不太好
附:webp打包工具制作
1.下載libwebp,我用的系統是win7,所以我這里選擇libwebp-0.4.1-rc1-windows-x86
2.下載WebpCodecSetup.exe
3.配置ibwebp文件夾中的bin具體路徑到環境變量path中
4.打包命令cwebp [options] input_file -o output_file.webp
參考地址:
webp打包工具制作:https://developers.google.cn/speed/webp/docs/cwebp
WebP插件打包下載:https://storage.googleapis.com/downloads.webmproject.org/releases/webp/index.html