GIF、JPEG 和 PNG 是三種最常見的圖片格式。
- GIF:1987 年誕生,常用于網頁動畫,使用無損壓縮,支持 256 種顏色(一般叫 8 bit 彩色),支持單一透明色;
- JPEG:1992 年出世,照片一般都用這個格式,有損壓縮,24 bit 真彩色(224 = 17 萬種顏色),不支持動畫,不支持透明色;
- PNG:1996 年問世,無損壓縮,最常見的使用格式是 256 索引色(PNG-8)和 24 bit 真彩色(PNG-24)(當然 PNG 支持的顏色格式遠不止此),支持 full alpha 通道(256 級可調半透明色),不支持動畫。
簡單比較:
- JPEG v.s. PNG:JPEG 在照片壓縮方面擁有巨大的優勢,這方面無可替代,但是 JPEG 是有損壓縮,圖片質量會有損失。另外,一般屏幕截屏用 PNG 格式不但比 JPEG 質量高而且文件大小還更小(維基有圖)。
- GIF v.s. PNG:GIF 只在簡單動畫領域有優勢(其實,GIF 256 色限制以及無損壓縮機制導致高質量的動畫的發布一般都使用 Flash 等格式),只要沒有動畫,PNG 完全可以取代 GIF。
- 防鋸齒:下面是 GIF 和 PNG 防鋸齒處理的對比,六張小圖片是分別放到淺黃和深綠背景下的情景,三張大圖是深綠背景情形的放大。由于 GIF 沒有半透明一說,所以防鋸齒處理時只能假設背景是白色,這樣的 GIF 放在深色背景下還不如不防鋸齒。而 PNG 圖片可以輕松應付各種背景顏色,特別適合用來做網頁和應用程序里的通用防鋸齒圖標適應不同皮膚,沒有 full alpha 通道的 JPEG 和 GIF 都做不到這一點。
可以看到,除了照片和動畫,PNG 是最好的格式,但是 PNG 為什么到最近幾年才流行起來?有很多原因:
- PNG 誕生的時候互聯網已經初具規模,當時 GIF 和 JPEG 已經是很流行的格式了,換格式的遷移成本是很大的,有時候慣性是一個很可怕的東西。
- 瀏覽器的 PNG 支持比較落后,比如 IE 就是到 IE4 才開始支持 PNG。
- PNG 當初標準里把 alpha 通道寫成了 optional 的,土鱉的 IE 一直到 IE7 才開始支持 full alpha 通道。而一般網頁圖標 256 色足夠,所以為了支持 IE6,PNG 相對于 GIF 毫無優勢可言,更何況 GIF 還支持動畫。
- 盡管從原理上說,同樣質量的 PNG 圖片文件一般要比 GIF 要小,但是早期很多圖片編輯器不支持 PNG,甚至支持的也沒有完全利用 PNG 壓縮算法里最精妙的部分(最典型的例子就是早期的 Photoshop),保存出來的 PNG 往往巨大無比。現在的軟件已經沒有這些問題了,但是這個偏見還廣泛存在。
柳德才
13691193654
18942949207
QQ:422157370
liudecai_zan@126.com湖北-武漢-江夏-廟山