自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

設計更快的網(wǎng)頁(一):圖片壓縮

開發(fā) 前端
很多 Web 開發(fā)者都希望做出加載速度很快的網(wǎng)頁。在移動設備瀏覽占比越來越大的背景下,使用響應式設計使得網(wǎng)站在小屏幕下看起來更漂亮只是其中一個方面。Browser Calories 可以展示網(wǎng)頁的加載時間 —— 這不單單關系到用戶,還會影響到通過加載速度來進行評級的搜索引擎。

很多 Web 開發(fā)者都希望做出加載速度很快的網(wǎng)頁。在移動設備瀏覽占比越來越大的背景下,使用響應式設計使得網(wǎng)站在小屏幕下看起來更漂亮只是其中一個方面。Browser Calories 可以展示網(wǎng)頁的加載時間 —— 這不單單關系到用戶,還會影響到通過加載速度來進行評級的搜索引擎。這個系列的文章介紹了如何使用 Fedora 提供的工具來給網(wǎng)頁“瘦身”。

準備工作

在你開始縮減網(wǎng)頁之前,你需要明確核心問題所在。為此,你可以使用 Browserdiet. 這是一個瀏覽器插件,適用于 Firefox、Opera、 Chrome 和其它瀏覽器。它會對打開的網(wǎng)頁進行性能分析,這樣你就可以知道應該從哪里入手來縮減網(wǎng)頁。

然后,你需要一些用來處理的頁面。下面的例子是針對 getferoda.org 的測試截圖。一開始,它看起來非常簡單,也符合響應式設計。

Browser Diet - getfedora.org 的評分

Browser Diet - getfedora.org 的評分

然而,BroserDiet 的網(wǎng)頁分析表明,這個網(wǎng)頁需要加載 1.8MB 的文件。所以,我們現(xiàn)在有活干了!

Web 優(yōu)化

網(wǎng)頁中包含 281 KB 的 JavaScript 文件、203 KB 的 CSS 文件,還有 1.2 MB 的圖片。我們先從最嚴重的問題 —— 圖片開始入手。為了解決問題,你需要的工具集有 GIMP、ImageMagick 和 optipng. 你可以使用如下命令輕松安裝它們:

  1. sudo dnf install gimp imagemagick optipng

比如,我們先拿到這個 6.4 KB 的文件

首先,使用 file 命令來獲取這張圖片的一些基本信息:

  1. $ file cinnamon.png
  2. cinnamon.png: PNG image data, 60 x 60, 8-bit/color RGBA, non-interlaced

這張只由白色和灰色構成的圖片使用 8 位 / RGBA 模式來存儲。這種方式并沒有那么高效。

使用 GIMP,你可以為這張圖片設置一個更合適的顏色模式。在 GIMP 中打開 cinnamon.png。然后,在“圖片 > 模式”菜單中將其設置為“灰度模式”。將這張圖片以 PNG 格式導出。導出時使用壓縮因子 9,導出對話框中的其它配置均使用默認選項。

  1. $ file cinnamon.png
  2. cinnamon.png: PNG image data, 60 x 60, 8-bit gray+alpha, non-interlaced

輸出顯示,現(xiàn)在這個文件現(xiàn)在處于 8 位 / 灰階 + aplha 模式。文件大小從 6.4 KB 縮小到了 2.8 KB. 這已經(jīng)是原來大小的 43.75% 了。但是,我們能做的還有很多!

你可以使用 ImageMagick 工具來查看這張圖片的更多信息。

  1. $ identify cinnamon2.png
  2. cinnamon.png PNG 60x60 60x60+0+0 8-bit Grayscale Gray 2831B 0.000u 0:00.000

它告訴你,這個文件的大小為 2831 字節(jié)。我們回到 GIMP,重新導出文件。在導出對話框中,取消存儲時間戳和 alpha 通道色值,來讓文件更小一點?,F(xiàn)在文件輸出顯示:

  1. $ identify cinnamon.png
  2. cinnamon.png PNG 60x60 60x60+0+0 8-bit Grayscale Gray 2798B 0.000u 0:00.000

下面,用 optipng 來無損優(yōu)化你的 PNG 圖片。具有相似功能的工具有很多,包括 advdef(這是 advancecomp 的一部分),pngquantpngcrush

對你的文件運行 optipng。 注意,這個操作會覆蓋你的原文件:

  1. $ optipng -o7 cinnamon.png
  2. ** Processing: cinnamon.png
  3. 60x60 pixels, 2x8 bits/pixel, grayscale+alpha
  4. Reducing image to 8 bits/pixel, grayscale
  5. Input IDAT size = 2720 bytes
  6. Input file size = 2812 bytes
  7.  
  8. Trying:
  9. zc = 9 zm = 8 zs = 0 f = 0 IDAT size = 1922
  10. zc = 9 zm = 8 zs = 1 f = 0 IDAT size = 1920
  11.  
  12. Selecting parameters:
  13. zc = 9 zm = 8 zs = 1 f = 0 IDAT size = 1920
  14.  
  15. Output IDAT size = 1920 bytes (800 bytes decrease)
  16. Output file size = 2012 bytes (800 bytes = 28.45% decrease)

-o7 選項處理起來最慢,但最終效果最好。于是你又將文件縮小了 800 字節(jié),現(xiàn)在它只有 2012 字節(jié)了。

要壓縮文件夾下的所有 PNG,可以使用這個命令:

  1. $ optipng -o7 -dir=<directory> *.png

-dir 選項用來指定輸出文件夾。如果不加這個選項,optipng 會覆蓋原文件。

選擇正確的文件格式

當涉及到在互聯(lián)網(wǎng)中使用的圖片時,你可以選擇:

JPG-LS 和 JPG 2000 沒有得到廣泛使用。只有一部分數(shù)碼相機支持這些格式,所以我們可以忽略它們。aPNG 是動態(tài)的 PNG 格式,也沒有廣泛使用。

可以通過更改壓縮率或者使用其它文件格式來節(jié)省下更多字節(jié)。我們無法在 GIMP 中應用第一種方法,因為現(xiàn)在的圖片已經(jīng)使用了最高的壓縮率了。因為我們的圖片中不再包含 aplha 通道,你可以使用 JPG 類型來替代 PNG。 現(xiàn)在,使用默認值:90% 質(zhì)量 —— 你可以將它減小至 85%,但這樣會導致可見的疊影。這樣又省下一些字節(jié):

  1. $ identify cinnamon.jpg
  2. cinnamon.jpg JPEG 60x60 60x60+0+0 8-bit sRGB 2676B 0.000u 0:00.000

只將這張圖轉(zhuǎn)成正確的色域,并使用 JPG 作為文件格式,就可以將它從 23 KB 縮小到 12.3 KB,減少了近 50%.

PNG vs JPG: 質(zhì)量和壓縮率

那么,剩下的文件我們要怎么辦呢?除了 Fedora “風味”圖標和四個特性圖標之外,此方法適用于所有其他圖片。我們能夠處理的圖片都有一個白色的背景。

PNG 和 JPG 的一個主要區(qū)別在于,JPG 沒有 alpha 通道。所以,它沒有透明度選項。如果你使用 JPG 并為它添加白色背景,你可以將文件從 40.7 KB 縮小至 28.3 KB.

現(xiàn)在又有了四個可以處理的圖片:背景圖。對于灰色背景,你可以再次使用灰階模式。對更大的圖片,我們就可以節(jié)省下更多的空間。它從 216.2 KB 縮小到了 51 KB —— 基本上只有原圖的 25% 了。整體下來,你把這些圖片從 481.1 KB 縮小到了 191.5 KB —— 只有一開始的 39.8%.

質(zhì)量 vs 大小

PNG 和 JPG 的另外一個區(qū)別在于質(zhì)量。PNG 是一種無損壓縮光柵圖形格式。但是 JPG 雖然使用壓縮來縮小體積,可是這會影響到質(zhì)量。不過,這并不意味著你不應該使用 JPG,只是你需要在文件大小和質(zhì)量中找到一個平衡。

成就

這就是第一部分的結尾了。在使用上述技術后,得到的結果如下:

你將一開始 1.2 MB 的圖片體積縮小到了 488.9 KB. 只需通過 optipng 進行優(yōu)化,就可以達到之前體積的三分之一。這可能使得頁面更快地加載。不過,要是使用蝸牛到超音速來對比,這個速度還沒到達賽車的速度呢!

最后,你可以在 Google Insights 中查看結果,例如:

在移動端部分,這個頁面的得分提升了 10 分,但它依然處于“中等”水平。對于桌面端,結果看起來完全不同,從 62/100 分提升至了 91/100 分,等級也達到了“好”的水平。如我們之前所說的,這個測試并不意味著我們的工作就做完了。通過參考這些分數(shù)可以讓你朝著正確的方向前進。請記住,你正在為用戶體驗來進行優(yōu)化,而不是搜索引擎。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2018-11-12 13:54:37

Web圖片替換 網(wǎng)頁加速

2018-11-20 13:20:34

CSS網(wǎng)頁前端

2011-01-21 12:03:46

2012-09-10 10:59:49

網(wǎng)頁設計jQueryCSS

2020-05-07 09:45:16

前端JS圖片壓縮

2012-08-03 09:09:59

網(wǎng)頁設計設計

2023-01-15 20:28:32

前端圖片壓縮

2023-11-04 12:43:44

前端圖片參數(shù)

2022-08-08 08:29:55

圖片壓縮前端互聯(lián)網(wǎng)

2011-05-07 16:57:30

網(wǎng)頁設計師網(wǎng)站

2020-08-21 09:58:16

谷歌Android工具

2010-10-12 13:57:43

GoogleWebP

2016-02-01 10:12:22

網(wǎng)頁設計移動端

2011-05-05 10:10:26

網(wǎng)頁設計

2024-04-19 08:31:40

Android屬性讀取

2024-07-04 08:26:12

AndroidJPEG圖片

2020-08-05 16:09:52

javascript壓縮圖片前端

2020-10-20 11:12:11

Nodejs

2022-06-14 07:29:51

squoosh壓縮工具開源

2011-05-12 17:38:34

點贊
收藏

51CTO技術棧公眾號