提升網頁加載速度和體驗以及圖片優(yōu)化的方法
微博UDC 發(fā)布時間:2012-07-24 16:33:30 作者:海的女兒6931
我要評論

既能保證UI的還原度,又使圖片最精簡呢?下面我就個人經驗,來簡單介紹一下圖片優(yōu)化的方法

1. 矢量圖與位圖。
矢量圖:縮放、旋轉不失真的圖像格式,不管你離多近去看都看不到圖形的最小單位。存儲的文件較小,但是很難表現色彩層次豐富的逼真圖像效果。你可以理解成完美的圓型、拋物線等形狀。
位圖:又叫柵格圖、像素圖,最小單位由像素構成,縮放、旋轉會失真。舉個例子來說,位圖就好比十字繡,遠看時畫面細膩多彩,近看時能看到每一針的色彩過渡。

下表為矢量圖和位圖的對比:

有損壓縮:特點是保持顏色的逐漸變化,根據人眼觀察現實世界的 突然變化, 然后使用附近的顏色通過漸變或其他形式進行填充。因為素點的數據信息,所以存儲量會降低,還不會影響圖像的還原度質會有所下降。JPG是有損壓縮格式,在存儲圖像時會把圖像分解成8*8像素的網格單單獨優(yōu)化。舉個例子:白色小塊為 8*8px,黑色底色塊為32*32px,當小白塊已經不是純白色了,它周圍的小白塊卻很尖銳,如下圖所示:



為什么無損壓縮的圖也會有失真的?因為他的壓縮原理是通過索引圖像上相同區(qū)域的顏色進行壓縮和還原,也就是說只有在圖像的顏色數量小于我們可以保存的顏色數量時,才能真實的記錄和還原圖像,否則就會丟失一些圖像信息。例如,PNG-8和GIF格式:


在我們進行圖像優(yōu)化技術前,需要學習有關的圖片格式的一些技術細節(jié)。每個圖形格式都有自己的優(yōu)勢和弱點,知道他們會使你得到更好的視覺質量和壓縮品質。

PNG-8 的高壓縮比
切圖時,有時選擇 PNG-8 可以獲得更高的壓縮比。注意,是 PNG-8,不是 PNG-24。不過有些情況下還是 GIF 或 JPG 會小一些,需要根據實際情況調試以選擇最佳方案。
PNG-24 的優(yōu)化技巧,使用色調分離:
拿微博左側導航的小icon為例,壓縮后的圖像大小對比如下圖:







圖片優(yōu)化在微博首頁上的應用:
1. 圖型類、照片類
對于圖像格式的選擇,我們還需要考慮圖片的使用場景或功能,概括為兩類:圖型類、照片類
圖型類:圖形符號,具有高度濃縮并快捷傳達信息、便于記憶的特性,顏色數量較少。
圖型類一般可以使用PNG格式或者GIF格式。優(yōu)化時可采用PNG格式為PNG8或者PNG24,品質為32,如果色彩有損失可采用品質64或者128。
例如:首頁左導的圖標、feed區(qū)圖標、勛章圖、表情動畫都屬于圖形。
照片類:照片通常含有百萬數量級的顏色,包括平滑的顏色過度和漸變,如果是圖形較為復雜,圖中有時會出現真實的照片。
照片類一般用PNG和JPG??梢愿鶕D片色彩的豐富程度而定。
PNG的品質一般要到128。JPG的品質一般要在70-80之間,以噪點的程度確定。
例如:皮膚背景圖、發(fā)布器、按鈕背景、發(fā)布器下方的tips、右側廣告、用戶頭像、用戶發(fā)布的圖片。
2. 通用類、隨機類
按照首頁圖片出現的頻率分成:通用類、隨機類
通用類:每個人首頁都會看到,圖標、按鈕、小背景。
例如,頂部托盤圖標、左導圖標、feed區(qū)圖標、發(fā)布器圖標、身份圖標、操作類圖標、狀態(tài)類圖標、按鈕。盡可能的采用PNG的格式保存,文件會相對來說較小一些。
下圖為微博的按鈕和左側導航icon小圖的,使用GIF和PNG格式的大小對比:


A. 表情GIF
可以使用FireWorks或者ImageReady,建議使用ImageReady。
最好是手動一張張的調整,因為這些表情圖的色彩值都比較少,如果使用比較大的顏色時會存儲量較大。
另外,批處理的話也是需要一個文件夾一個文件夾去處理,表情的文件夾太多了,基本上批處理還是很慢。批處理如果是使用FireWorks的話,有的動畫會出現變快或者是缺邊的情況。
手動處理時,根據索引色的多少來存,一般來說4-128索引色存儲。
B. 換膚類圖片:
采用JPG格式或者PNG格式。
皮膚的主要背景圖中如含有真實的照片或者文字,可采用JPG格式,為了保證更接近設計圖需采用85以上的品質壓縮圖片。如果色彩跨度不大的背景圖片,可采用PNG格式。
C. 勛章類:
目前有GIF和PNG兩種格式,GIF的是小圖、PNG的是中圖和大圖。品質選128即可。
這個目錄批處理比較快。因為都是在同一個文件夾里。但是手動的話會更小一點。
D. 各種廣告:
發(fā)布器下方tips、右側廣告、底部廣告。采用JPG格式或者PNG格式。
E. 用戶相關圖:
頭像、用戶發(fā)布的圖這個需要在后臺控制壓縮品質。采用JPG格式或者PNG格式。
圖片優(yōu)化工具Smush.it 介紹
Smush.it 是 YUI 團隊制作的一款基于 YUI 的在線圖片優(yōu)化工具。
它是基于以下四條圖片優(yōu)化建議制作的服務:
· 移除 JPG 中的 meta 數據。
· 優(yōu)化 JPG 的壓縮率。
· 轉化特定 GIF 圖片到可索引的 PNG 格式圖片。
· 從可索引的圖片中移除沒用到顏色信息。
所以使用 Smush.it 壓縮圖片可以刪除圖片中多余的字節(jié)而不改變圖片的視覺效果和質量。
在實際使用中發(fā)現:
· 它還能把某些JPG圖片轉化為PNG圖片。
· 對于PNG24真彩色圖片,能夠去掉一些肉眼察覺不到的顏色信息,彌補photoshop和firework優(yōu)化不了PNG24圖片的不足。
· 可以優(yōu)化GIF動畫圖片。
Smush.it 使用
方法一:使用Firefox的插件Yslow里的Tools工具中的All Smush.it™
拿微博首頁為例:



方法二:直接登錄 Smush.it 的網站,把需要壓縮圖片的url粘貼到輸入框中(或者從本地電腦上選取圖片),點擊 Smush 就可以進行圖片壓縮,然后 Smuch.it 就會提供一個優(yōu)化報表,顯示圖片壓縮比率和節(jié)省了多少字節(jié),并且提供一個可下載包含壓縮后的圖片文件的壓縮包。
下圖為直接填寫線上URL的方式(以逗號隔開):



讓我們再回顧一下重點:
1. 選擇合適的格式:用JPG保存照片、用GIF保存動畫,其他圖片使用PNG保存,并盡可能用PNG8。
2. PNG24圖片的壓縮技巧。
3. Smush.it的使用。
相關文章
- 這篇文章主要分享的是web技術的 AudioContext 實現音頻可視化,要實現音頻可視化得先實現一些炫酷的效果需要借助 Web Audio API提供的一些方法 AudioContext,下面詳細內容2022-02-23
- 這篇文章主要給大家介紹了web技術中的WebRTC記錄音視頻流,文章內容圍繞主題展相關資料,需要的小伙伴可以參考一下,希望對你有所幫助2022-02-23
- 這是我通過網上查閱資料總結的一些編碼規(guī)范,用于鞏固對html,css頁面重構時的基礎,需要的朋友可以參考下2020-12-19
前端編碼規(guī)范(4)—— CSS 和 Sass (SCSS) 開發(fā)規(guī)范
這篇文章主要介紹了前端編碼規(guī)范(4)—— CSS 和 Sass (SCSS) 開發(fā)規(guī)范,需要的朋友可以參考下2017-01-21Web前端開發(fā)規(guī)范2017(HTML/JavaScript/CSS)
這是一份旨在增強團隊的開發(fā)協(xié)作,提高代碼質量和打造開發(fā)基石的編碼風格規(guī)范,其中包含了 HTML, JavaScript 和 CSS/SCSS 這幾個部分。我們知道,當一個團隊開始指定并實行2017-01-21- 這篇文章主要為大家介紹了前端開發(fā)團隊遵循和約定的代碼書寫規(guī)范,意在提高代碼的規(guī)范性和可維護性,需要的朋友可以參考下2017-01-21
- 這篇文章主要為大家詳細介紹了響應式Web之流式網格系統(tǒng)的相關資料,感興趣的小伙伴們可以參考一下2016-07-04
- 下面小編就為大家分享一篇在網頁標題欄上和收藏夾顯示網站logo的實現方法。希望對大家有所幫助。一起跟隨小編過來看看吧,祝大家游戲愉快哦2016-03-16
- 基于很多用戶都在下載Visual Foxpro 6.0,但是有安裝vtp6.0經驗的朋友確很少,在安裝過程中總會出現這樣那樣的問題,基于這些問題,下面小編抽個時間把Visual Foxpro 6.02015-09-09
網站日志200 0 64狀態(tài)碼的分析(協(xié)議子狀態(tài))
網站日志200 0 64狀態(tài)碼的分析介紹2012-10-29