目前網站圖片的采用一共有流行三種,分別是JPG、PNG、GIF,然而很多人并不知道三者在選擇的時候究竟應該選誰(BMP就不考慮了吧)。雖然都可以存儲圖片,但是如果要發布到網上,就必須考慮速度、大小和失真程度的問題。如果你運用得好,選對圖片,那樣便會使網站的整體體驗上升,如果你運用得不好,就會引起反效果。下面我通過文件大小等多方面的元素來講一下網站圖片的合理選擇。
?
PNG、GIF、JPG 介紹
?
GIF 圖片
Gif 算是比較老的圖片格式了,它的色彩效果最低,用gif保存鮮艷的圖片的話會讓你的網站看上去非常可怕。但是gif有著不可忽視的特點:體積小,有著極好的壓縮效果,支持動畫,并且支持透明效果,雖然這個透明沒有PNG的那樣漸變透明的強大。動畫選gif沒錯;如果你的圖片只有很單調的色彩,沒有漸變色,例如只有紅藍兩色,那么選GIF最好不過了!例如百度的首頁LOGO就是很好的例子,它的大小只有2KB,節省了資源。
?
JPG / JPEG 圖片
JPG是數碼相機最常用的格式,其特點是色彩還原好,可以在照片不明顯失真的情況下,大幅降低體積,所以體積不很大,缺點是不支持透明。照片類的圖片,例如網站上的Gallery,你想要張貼出來的自然風景之類,最好都用JPG。但是屏幕截圖呢?一會介紹。
?
P NG 圖片
可謂是最適合網絡的圖片!PNG的優點是,清晰,無損壓縮,壓縮比率很高,可漸變透明,具備幾乎所有GIF的優點;缺點是不如JPG的顏色豐富,同樣的圖片體積也比JPG略大。但是PNG應該在網站設計上被推廣,它是公認的最適合網頁使用的圖片格式。Google就是一個很好的例子。Google所有站點幾乎全部的圖片資源都是PNG格式。8位的PNG完全可以替代掉GIF。
上圖就是Google的LOGO,選擇PNG是為了最清晰同時體積更小,并且Google主頁的LOGO圖片并不是背景透明的,而是白色背景的。既然不是透明的,為什么不選擇JPG呢?Google難道沒有考慮嗎,所以png有其優勢。
?
PNG有著另一個優點,那就是 逐次逼近顯示(progressive display) :傳輸圖像文件的同時,可以先把整個輪廓顯示出來,然后逐步顯示圖像的細節,即先顯示低分辨率顯示圖像,從模糊到清晰,然后逐步提高它的分辨率。這是一個很好的用戶體驗。
?
各方面比較
大小比較:通常地,PNG ≈ JPG > GIF
透明性:PNG > GIF > JPG
色彩豐富程度:JPG > PNG >GIF
兼容程度:GIF ≈ JPG > PNG
注意,IE6下PNG的透明是不能顯示的,有其對應的Hack方法。
?
PNG vs JPG 大小實測
我在電腦上用電腦自帶的截圖軟件進行完全一樣的截圖,分別保存為JPG和PNG。下面是截圖后所得的原始圖片大小比較:
可以看到,JPG的大小要遠小于PNG,PNG整整大了幾乎110KB。要知道在網絡上,即使減小10KB,也會帶來用戶體驗的提升。
然后我用Imageoptim軟件對這兩張圖進行無損壓縮。最后你可以看到,PNG擁有著很高的壓縮比,JPG則只是減小了一點。最后PNG比JPG的大小高出50KB左右,算是比較成功的壓縮了。不過,這就代表屏幕截圖用JPG更好嗎?
?
JPG、PNG,誰更適合截圖
PNG更適合屏幕截圖!png是軟件截屏的最佳選擇(體積非常小;最清晰),并且壓縮空間非常大。事實上JPG和PNG適合的場景并不同,JPG天生適合風景照片,PNG幾乎就是為了“便攜網絡圖形圖像”而生。截圖保存為jpg,很容易出現失真現象,在文字、漸變色和比較精細的地方,例如線條周圍,常常出現斑點、不清楚,模糊。就算提高質量,jpg的體積就上去了。而且JPG不支持透明,所以的你軟件圖片如果有陰影效果,用JPG就太浪費了。相對的,PNG就比較適合,在保持極少失真的情況下,還能保留透明陰影,文件體積小,而且壓縮空間很大。所以,截圖的選擇無疑是PNG更好。
例如下圖,同樣一張圖,PNG僅9KB左右;而JPG,為了保持良好的清晰度,需要110KB左右!GIF就慘不忍睹了。
?
總結:JPG、PNG、GIF 到底選誰
對于一個網站來說,按照保證色彩顯示良好同時文件最小的原則,我的總結是這樣的:
網站的LOGO,如果色彩單調,選擇PNG或者GIF,推薦前者。但是如果為了IE6的兼容,選擇后者;
如果你需要動圖,選擇GIF;
網站上的元素背景圖片(比如按鈕背景、導航條背景),或者很精細的圖片,還是那句話,如果色彩單調,選擇PNG或者GIF,推薦前者。但是如果為了IE6的兼容,選擇后者,但要考慮失真問題;少用JPG,否則會讓這些東西很難看,除非你用風景圖片作按鈕背景;
網站內容里,你真實拍攝的圖片,或者你下載的風景圖片,保持JPG來獲得更好的顯示效果和體積;
截圖都應該用PNG。當然,如果你并不追求非常完美的顯示效果,只是注重內容本身而容許圖片上的小瑕疵,選擇JPG也可。
?
寫在最后
不論你用哪種圖片,你都應該考慮到圖片的壓縮性,并對圖片盡可能的無損壓縮。例如ImageOptim就是一個很好的壓縮工具。
此外,如果你的圖片非常小,你甚至可以考慮 Base64 。
謝謝收看。
?
原文: http://blog.netsh.org/posts/jpg-png-gif_1327.netsh.html
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
