請拋棄PNG和JPG圖片:WebP才是未來

2020-12-15 三好大數據

WebP是2010年 Google 開發的一種圖片格式,它為網頁上的圖片提供了卓越的無損和有損壓縮。網站開發者們可以使用 WebP 來創建尺寸更小、細節更豐富的圖片,以此來提高網站的速度。更快的加載速度對於網站的用戶體驗和網站的營銷效果是至關重要的。

為了在所有設備和用戶中達到最佳加載效果,你網站上的圖片文件大小不應該超過 500 KB。

與 PNG 圖片相比,WebP 無損圖片通常至少要比 PNG 圖片小 25%。在同等的 SSIM(結構相似度structural similarity)質量指標下,WebP 有損圖片通常比 JPEG 圖片小 25% 到 34%。

無損 WebP 也支持透明度。而在可接受有損 RGB 壓縮的情況下,有損 WebP 也支持透明度,通常其大小比 PNG 文件小三倍。

Google 報告稱,把動畫 GIF 文件轉換為有損 WebP 後文件大小減少了 64%,轉換為無損 WebP 後文件大小減少了 19%。

WebP 文件格式是一種基於 RIFF(資源互換文件格式resource interchange file format)的文檔格式。你可以用hexdump看到文件的籤名是52 49 46 46(RIFF):

獨立的 libwebp 庫作為 WebP 技術規範的參考實現,可以從 Google 的Git 倉庫或 tar 包中獲得。

全球在用的 80% 的 web 瀏覽器兼容 WebP 格式。本文撰寫時,Apple 的 Safari 瀏覽器還不兼容。解決這個問題的方法是將 JPG/PNG 圖片與 WebP 圖片一起提供,有一些方法和 Wordpress 插件可以做到這一點。

為什麼要這樣做?

我的部分工作是設計和維護我們組織的網站。由於網站是個營銷工具,而網站的速度是衡量用戶體驗的重要指標,我一直致力於提高網站速度,通過把圖片轉換為 WebP 來減少圖片大小是一個很好的解決方案。

我使用了 web.dev 來檢測其中一個網頁,該工具是由 Lighthouse 提供服務的,遵循 Apache 2.0 許可證,可以在https://github.com/GoogleChrome/lighthouse找到。

據其官方描述,「LIghthouse 是一個開源的,旨在提升網頁質量的自動化工具。你可以在任何公共的或需要鑑權的網頁上運行它。它有性能、可用性、漸進式 web 應用、SEO 等方面的審計。你可以在 Chrome 瀏覽器的開發工具中運行 Lighthouse,也可以通過命令行或作為 Node 模塊運行。你輸入一個 URL 給 Lighthouse,它會對這個網頁進行一系列的審計,然後生成這個網頁的審計結果報告。從報告的失敗審計條目中可以知道應該怎麼優化網頁。每條審計都有對應的文檔解釋為什麼該項目是重要的,以及如何修復它。」

創建更小的 WebP 圖片

我測試的頁面返回了三張圖片。在它生成的報告中,它提供了推薦和目標。我選擇了它報告有 650 KB 的app-graphic圖片。通過把它轉換為 WebP 格式,預計可以把圖片大小降到 61 KB,節省 589 KB。我在 Photoshop 中把它轉換了,用默認的 WebP 設置參數保存它,它的文件大小為 44.9 KB。比預期的還要好!從下面的 Photoshop 截圖中可以看出,兩張圖在視覺質量上完全一樣。

左圖:650 KB(實際大小)。右圖: 44.9 KB(轉換之後的目標大小)。

當然,也可以用開源圖片編輯工具GIMP把圖片導出為 WebP。它提供了幾個質量和壓縮的參數:

另一張圖放大後:

PNG(左圖)和 WebP(右圖),都是從 JPG 轉換而來,兩圖對比可以看出 WebP 不僅在文件大小更小,在視覺質量上也更優秀。

把圖片轉換為 WebP

你也可以用 Linux 的命令行工具把圖片從 JPG/PNG 轉換為 WebP:

在命令行使用cwebp把 PNG 或 JPG 圖片文件轉換為 WebP 格式。你可以用下面的命令把 PNG 圖片文件轉換為質量參數為 80 的 WebP 圖片。

cwebp -q 80 image.png -o image.webp

你還可以用Image Magick,這個工具可能在你的發行版本軟體倉庫中可以找到。轉換的子命令是convert,它需要的所有參數就是輸入和輸出文件:

convert pixel.png pixel.webp

使用編輯器把圖片轉換為WebP

要在圖片編輯器中來把圖片轉換為 WebP,可以使用GIMP。從 2.10 版本開始,它原生地支持 WebP。

如果你是 Photoshop 用戶,由於 Photoshop 默認不包含 WebP 支持,因此你需要一個轉換插件。遵循 Apache License 2.0 許可證發布的 WebPShop 0.2.1 是一個用於打開和保存包括動畫圖在內的 WebP 圖片的 Photoshop 模塊,在https://github.com/webmproject/WebPShop可以找到。

為了能正常使用它,你需要把它放進 Photoshop 插件目錄下的bin文件夾:

Windows x64 :C:\Program Files\Adobe\Adobe Photoshop\Plug-ins\WebPShop.8bi

Mac:Applications/Adobe Photoshop/Plug-ins/WebPShop.plugin

Wordpress 上的 WebP

很多網站是用 Wordpress 搭建的(我的網站就是)。因此,Wordpress 怎麼上傳 WebP 圖片?本文撰寫時,它還不支持。但是,當然已經有插件來滿足這種需求,因此你可以在你的網站上同時準備 WebP 和 PNG/JPG 圖片(為 Apple 用戶)。

在Marius Hosting有下面的說明:

「直接向 Wordpress 上傳 WebP 圖片會怎樣?這很簡單。向你的主題functions.php文件添加幾行內容就可以了。Wordpress 默認不支持展示和上傳 WebP 文件,但是我會向你介紹一下怎麼通過幾個簡單的步驟來讓它支持。登錄進你的 Wordpress 管理員界面,進入『外觀/主題編輯器』找到functions.php。複製下面的代碼粘貼到該文件最後並保存:

//** *Enable upload for webp image files.*/

function webp_upload_mimes($existing_mimes) {

$existing_mimes['webp'] = 'image/webp';

return $existing_mimes;

}

add_filter('mime_types', 'webp_upload_mimes');

如果你想在『媒體/媒體庫』時看到縮略圖預覽,那麼你需要把下面的代碼也添加到functions.php文件。為了找到functions.php文件,進入『外觀/主題編輯器』並搜索functions.php,然後複製下面的代碼粘貼到文件最後並保存:

/** * Enable preview / thumbnail for webp image files.*/

function webp_is_displayable($result, $path) {

if ($result === false) {

$displayable_image_types = array( IMAGETYPE_WEBP );

$info = @getimagesize( $path );

if (empty($info)) {

$result = false;

} elseif (!in_array($info[2], $displayable_image_types)) {

$result = false;

} else {

$result = true;

}

}

return $result;

}

add_filter('file_is_displayable_image', 'webp_is_displayable', 10, 2);

WebP 和未來

WebP 是一個健壯而優化的格式。它看起來更好,壓縮率更高,並具有其他大部分常見圖片格式的所有特性。不必再等了,現在就使用它吧。

相關焦點

  • WEBP是什麼圖片格式?PNG、JPG、WEBP和GIF有什麼區別
    png、jpg、webp和gif是市面上最常使用的三種圖片格式。在介紹它們的區別之前,先讓我來簡單介紹下圖片的基礎知識。
  • png圖片怎樣轉換成jpg格式?利用什麼工具能實現
    圖片格式有很多種,據小編知道的就有jpg, png, gif, jpeg, bmp, webp, pcx, tiff, tga, exif, svg, psd......那麼多。那麼在這麼多的格式中,你一定遇到過需要將格式轉成其他格式的情況吧!
  • 常用的png與jpg圖片格式有什麼區別?
    png和jpg都是常用的圖片格式,其中png屬於無損壓縮,jpg是有損壓縮,使用中兩者最明顯的一個區別是png支持透明通道,jpg的圖片更適合在網絡中傳播和使用。於是算法學家發明了各種先進算法,來制定新的圖片格式,比如我們常用的有jpg、png、gif動圖等等。
  • 怎樣將png和jpg格式圖片合成gif動圖?
    jpg和png格式的圖片在日常生活中是使用廣泛的兩種圖片,那麼如果想將這兩種不同格式的靜態圖片合成一張gif動態圖片的話,該如何來進行操作呢?下面教大家使用gif合成工具,輕鬆在線合成png和jpg圖片動圖製作的方法,有需求的小夥伴一定要認真閱讀下面講述的操作步驟,一起來看一下。
  • PNG圖片怎麼轉JPG格式?批量轉換非常輕鬆!
    在我們日常娛樂和日常工作中,我們經常會拍攝照片,保存圖片之類的。JPG 和PNG格式是我們最常用到的圖片格式,有時候我們會需要將PNG格式的圖片轉換成JPG格式,如果是一張一張的轉換那也太浪費時間了,今天小編教大家幾招,如何批量將PNG轉JPG!
  • 常見圖片格式jpg、jpeg、png、gif等到底有什麼區別?
    jpg、jpeg、png、gif、bmp、tiff、ai、cdr、eps 對於做設計這一行的人來說,這幾個圖片格式是最常用的,
  • png轉成jpg格式如何轉換?
    說到圖片格式,不曉得小夥伴們接觸最多的是哪幾種格式?在那麼多種圖片格式中,png格式雖然清晰度接近於原畫,畫質清晰,但缺點也還是有的,比如說佔用的儲存空間太大,還有就是某些網站並不支持png格式的圖片,所以許多人經常會將png轉換JPG格式,那麼png怎麼轉換成jpg格式的呢?
  • 圖片格式轉換電腦png怎麼轉換成jpg
    大家接觸最多的圖片格式都有啥?JPEG,JPG,BMP,GIF,PSD,PNG......等等這些都是我們工作中有時會用到的圖片格式,那麼在使用的時候總會遇到需要轉換格式的時候。比如說在網站上上傳圖片時,顯示格式不支持,就很迫切的需要調整圖片格式了。
  • 《I Love Img》在線批量無損壓縮gif png jpg圖片(附視頻教程)
    使用方法非常簡單同時上傳 GIF, JPG, PNG三種格式的圖片做示範壓縮的結果: 三張圖片減小了35%的體積, 但肉眼看不出畫質的損失其中的jpg圖片: 直接從184KB壓縮到68KB,但肉眼看不出畫質的改變
  • 如何使用Mac預覽程序將png轉換為jpg格式的技巧分享
    因此,您可能會遇到需要知道如何將png更改為JPG的情況。本文將帶您了解如何在mac預覽上將png轉換為jpg,一起來看看吧。如何使用Mac Preview將png轉換為jpg使用macOS應用程式,預覽可能是在Mac上將png轉換為jpg的最簡單,最直接的方法。
  • 如何保存網頁上的gif圖和png圖片
    gif動圖和png圖片不像jpg圖片,只要右擊另存為就可以將圖片給保存下來了。剛開始喵喵還傻傻的截圖,放到ps裡面然後在保存,最悲催的是,有時候截圖就有可能把原圖給變掉了。喵喵經過摸索,終於找到一種不用這麼悲催的方法了!
  • jpeg和jpg的區別,這兩種格式的圖片可以互相轉換嗎?
    圖片應該是咱們日常生活中經常需要涉及到的一種文件了,而作為常常接觸的圖片類型,相信大家對jpg和jpeg這兩種格式的圖片都很熟悉吧?那麼jpeg和jpg的區別是什麼,這兩種格式的圖片可以互相轉換嗎?先來說說jpg和jpeg兩種圖片格式的區別吧,事實上,這兩種圖片格式不僅名字相似,也是沒什麼本質上的區別的,只是命名規則有所不同,所以才導致格式出現了不一樣的表達方式。不過正如上述所說,這兩種格式的圖片是可以互換的,至於怎麼換,我們接下來就來介紹一下具體的操作辦法吧!
  • eclipse打開png文件是亂碼
    很多同學使用eclipse打開png文件時,是直接在eclipse中以文本文件的形式打開的,打開肯定是亂碼,這是因為我們沒有告訴eclipse如何打開png或者jpg類型的文件。我們需要在eclipse中進行一些設置即可調用系統圖片查看器打開圖片文件。
  • Tinypng - 比ps更厲害的免費圖片壓縮神器
    介紹一般來說,設計軟體比如PS、sketch等都有圖片壓縮導出的功能,但對於透明的png圖片,壓縮過後的圖片,仍然很大,特別是對追求前端性能的開發者來說。直到我多年前發現了這個網站,驚喜得就像進了一個世外桃源一樣,圖片幾乎看不出區別,體積能差8~10倍!
  • pdf轉jpg圖片怎麼轉?試試這些簡單的pdf轉圖片方法!
    pdf轉jpg圖片怎麼轉?pdf文件在電腦上閱覽是比較方便的,工作中許多的小夥伴喜歡將文件轉換為pdf格式,如果我們是在手機端查看的話,還是將其轉換為圖片比較方便閱讀,那麼大家知道怎樣將pdf文件轉換為jpg圖片嗎?不會的小夥伴可以跟著小編學習一下。
  • 如何把pdf圖片轉成jpg?轉換圖片格式的方法在此
    如何把pdf圖片轉成jpg?上個月我遇到了一個小難題:不知道用什麼工具把批量的pdf圖片轉為jpg格式。因為本人的工作是網際網路公司的編輯,每天要大量撰寫文章,寫文章時會配圖,但個人從網上找來的很多精美圖片都是保存在pdf文檔中,不方便插入到word文檔中。
  • 蘋果Heic圖片一鍵轉換JPG/PNG/BMP的 方法分享
    蘋果手機heic格式圖片怎麼轉換jpg?蘋果手機iOS 11版本中,通常情況下我們使用手機拍照一般會默認以HEIC格式存儲。這是最常見的圖片存儲格式。HEIC(高效圖像文件格式)是MPEG的一種新型格式。
  • TinyPng-免費批量壓縮圖片的神器
    之前蝦皮路介紹了Squoosh工具,但是因為 Squoosh 只能一次壓縮一張圖片,對於有批量的圖片壓縮需求,那每次一張一張的壓縮,肯定很不爽的,畢竟需要不斷的重複操作很多次。那麼有沒有免費的批量壓縮圖片的工具呢?答案肯定是有的。
  • pdf怎麼轉換成jpg圖片?這些pdf轉圖片技巧要學會
    pdf怎麼轉換成jpg圖片?pdf文件是我們日常辦公中使用次數較多的一類文件,有時pdf文件的篇幅過長,會影響我們的閱讀,將其轉換為圖片的形式可以方便我們閱讀pdf文件,具體是怎麼轉換的呢?以下給大家分享一些方法。
  • PNG圖片網站
    ➌ 3pnghttp://3png.com/雖然下載素材需要登陸,但未登錄也可以直接右鍵保存圖片,網站更新較快,且素材種類很多。➍ 覓元素http://www.51yuansu.com/P圈有名的素材網站,包括免摳元素和高清背景圖,內容豐富,分類清晰,秒速下載,圖片質量也非常高,特別是很多圖片都可以下載到源文件