1. 程式人生 > >jpeg 與 png 圖片格式的區別

jpeg 與 png 圖片格式的區別

既然你打開了這個文章,我猜你是不是發現,你的各種手機照片,or網上下的各種照片,都是jpeg或者png格式?然後你想看看它兩的區別?

好吧,容我簡單介紹一下吧。

1 JPEG格式簡介

JPEG,全稱Joint Photographic Experts Group,叫做聯合影象專家組,直接赤果果的用一個磚家組的名稱,作為壓縮格式,還真是挺直接的哈!
嗯,反正他就是一個影象壓縮格式,壓縮好的輸出檔案,字尾是jpeg 或者jpg。它由“聯合影象專家組”提出,也算是名門正派了。
JPEG壓縮比例可以控制,從2:1 到100:1,既然可控,也意味著它是有失真壓縮,到100:1的壓縮比例,那影象估計會失真的非常嚴重。
優點:

由於JPEG壓縮比例大,檔案小,因此在網路傳輸圖片非常流行。
缺點:會引起失真,所以不適合儲存高階的重要的照片,比如藝術照。

由於JPEG有失真壓縮,因此磚家組又搞了個新版本,JPEG2000,這個版本支援有損和無失真壓縮。
JPEG2000有一個極其重要的特徵:
能實現漸進傳輸,即先傳輸影象的輪廓,然後逐步傳輸資料,不斷提高影象質量,讓影象由朦朧到清晰顯示。

2 PNG格式簡介

PNG,全稱Portable Network Graphic Format,可移植網路圖形格式。是一個unisys公司提出的,為了是替代古老的gif格式。
要問我gif和png區別?好吧,很簡單,gif支援動畫,但是支援顏色很少,只有256種顏色,也就你聊天能用一用呢,你的自拍照可不行!

png的有啥特點?如下所示。

2.1.1 無失真壓縮

PNG檔案採用LZ77演算法的派生演算法進行壓縮,其結果是獲得高的壓縮比,不損失資料。它利用特殊的編碼方法標記重複出現的資料,因而對影象的顏色沒有影響,也不可能產生顏色的損失,這樣就可以重複儲存而不降低影象質量。這和jpg可不一樣喔!

2.1.2 支援透明效果

PNG可以為原影象定義256個透明層次,使得彩色影象的邊緣能與任何背景平滑地融合,從而徹底地消除鋸齒邊緣。這種功能是GIF和JPEG沒有的。
比如一個android app logo,基本就是png格式的,因為這個logo是部分有透明的。比如下面是某個應用的logo。除了那個頭和文字,其餘地方是透明的。
這裡寫圖片描述


其實,如果不透明,都是方方正正的圖片,app的logo就會很醜。

2.1.3 支援漸進網路傳輸顯示

和JPEG2000有點像,PNG影象在瀏覽器上採用流式瀏覽,即影象會在完全下載之前提供瀏覽者一個基本的影象內容,然後再逐漸清晰起來。它允許連續讀出和寫入影象資料,這個特性很適合於在通訊過程中顯示和生成影象。

3 總結

1)jpeg是有失真壓縮,png是無損的。正因如此,同一影象質量,png檔案的大小,大於jpeg檔案。
2)png支援透明效果(alpha),jpeg不支援。