天天看點

【轉】PNG的秘密—— 一淘前端分享會

png是我們經常使用的圖檔格式,但是你真的了解png嗎?

此次一淘前端分享會,一絲冰涼将帶大家深入了解你不知道的png。首先有三個問題:

什麼是 png? 

png 有哪些特點?

如何優化 png?

1. png 的秘密—— 你真的了解 png嗎? by一淘 ux 一絲冰涼             旺旺:yisibl

2. 首先我們來看三個問題:

◆什麼是 png?

◆png 有哪些特點?

◆ 如何優化 png?

3. 一、 什麼是 png?

◆全稱是: 便攜式網絡圖形(portable network graphics) 是一種:無損位圖圖像檔案格式

◆ png 誕生于1996年

◆ png現行版本是 iso 國際标準(iso/ iec 15948:2003),2003年11月10日成為 w3c 推薦标準。

4. 二、png 的特點

1). 可以逐次逼近顯示: 先描繪出圖檔輪廓,然後在逐漸顯示圖像 的細節(對應ps裡交錯選項)

2).支援存儲附加文本資訊: 圖像名稱、作者、版權、創作時間、注釋 等資訊

3).透明性:①布爾透明(索引透明) 隻能為不透明或全透明。  ②alpha 透明 支援全透明和半透明。

5. png各種格式對比

【轉】PNG的秘密—— 一淘前端分享會

6. png各種格式對比 

【轉】PNG的秘密—— 一淘前端分享會

7. 萬惡的 ie6

ie6 png 半透明: filter:progid:dximagetransform.microsoft.alphaimageloader(src=”img. png”, sizingmethod=”scale”);

缺點:

◆增加額外的cpu和記憶體消耗

◆不适合img方式插入的圖檔,不支援背景平鋪

◆連結失效,表單無法獲 得焦點,解決方法:①使連結元素和表單元素獲得 haslayout ,一般是加上:position:relavtive ,但是當父級元素定義為position:absolute時,此方法會失效②背景層作為獨立的容器,并且和内容為同級

8. ie6 png 透明漸進增強

對于帶有漸變陰影的按鈕:

◆現代浏覽器使用 fireworks 導出帶 α 透明 的png-8 現代浏覽器  ie6 半透明部分表現為全透明

◆ 如果ie6 也需要 半透明效果: fireworks photoshop

◆ 然後ie6 通過濾鏡實作半透明 

9. 小結

◆png格式有8位、24位、32位三種形式,其中8位png支援兩種不同 的透明形式(索引透明和alpha透明),24位png不支援透明,32位 png 在24位基礎上增加了8位透明通道,是以可展現256級透明程度。

◆photoshop不支援也不能輸出png8+alpha 透明的png,32位png輸出是由24位png 加透明資訊形式輸出,是以fireworks對 png 支援較好。

◆ 非ie6的浏覽器都能正常顯示包含透明資訊的png圖檔,而ie6在濾鏡 的幫助下能夠正常展示png8+索引透明以及32位的透明png圖像, 但是對 png8+alpha透明的圖像支援不夠好。

10. png檔案的組成 -----  ◆png檔案署名域為固定的64個位元組: 十進制數 137 80 78 71 13 10 26 10 十六進制數 89 50 4e 47 0d 0a 1a 0a   資料塊的結構 = 關鍵資料塊+ 輔助資料塊+ 資料塊摘要

11. png檔案的組成

◆ 1.png檔案标志,為固定的64個位元組: 十進制數 137 80 78 71 13 10 26 10 十六進制數 89 50 4e 47 0d 0a 1a 0a

◆ 2.檔案頭資料塊ihdr(header chunk)——固定長度13位元組

◆ 3.調色闆資料塊plte(palette chunk)

◆4.sbit,trns(存儲透明資訊)塊
等。。

◆ 5.圖像資料塊idat(image data chunk)

◆ 6.圖像結束資料iend(image trailer chunk) ——固定的96個位元組: 0x00000000 0x49454e44 0xae426082

12. 我們可以給png”開刀了”

13. 示例 png頭部标示

14. 檔案頭資料塊 ihdr00000008-00000020

15. 小結

◆png優化工具會選擇性清除輔助資料塊

◆ png是基于 lz77壓縮算法壓縮的,優化工 具會重新壓縮到較大的級别(無損)

16. png,jpg,gif的應用場景

17. ◆png 就是為了取代gif而生的,除了動畫 圖檔等特殊場景使用,一般推薦使用png

18. png與gif對比

【轉】PNG的秘密—— 一淘前端分享會
【轉】PNG的秘密—— 一淘前端分享會

19. png動畫

◆ apng格式是一個非官方的擴充自png的 位圖動畫格式。http://image4.360doc.com/downloadimg/2009/10/22/28 9266_7657398_48.png

20. 運用場景

◆ 什麼時候應該使用png? 先來看看這樣一個圖檔标題

21. jpg 80% 12.0 kb png-8 256色 5.54 kb 出現噪點

22. jpg 80% 33.1 kb 失真更為嚴重 png-8 256色 53.6 kb

23. 小結

◆ 圖像顔色數量較少,且基本為純色或者平滑漸 變色時使用png更優(矢量)

◆對于圖像顔色豐富或者層次較深的圖檔采用 jpg更優,例如:人物,風景等寫實類拍攝照片

◆ 對于網頁中的 背景, 按鈕等盡量采用png存儲, 以保證更好的視覺品質;廣告,商品等則可以使 用jpg來存儲(此時檔案更小,更快的加載)

24. 設計濕應該怎麼做?

掌控像素的虛實: http://cdc.tencent.com/?p=5584 利用路徑調整次像素-改善圖像的飽滿度

25. 推薦壓縮工具◆ pngoptimizer (http://psydk.org/pngoptimizer)

26. 推薦壓縮工具◆ pngout (http://advsys.net/ken/utils.htm)

27. 推薦壓縮工具◆ 雅虎: smush.it(http://www.smushit.com/ysmush.it/)

作者:白樹

繼續閱讀