PNG
閱讀 ?·? 發(fā)布日期 2021-08-19 08:49 ?·? admin
png是一種采用無(wú)損壓縮算法的位圖格式,其設(shè)計(jì)目的是試圖替代GIF和TIFF文件格式,同時(shí)增加一些GIF文件格式所不具備的特性。PNG使用從LZ77派生的無(wú)損數(shù)據(jù)壓縮算法,一般應(yīng)用于JAVA程序、網(wǎng)頁(yè)或S60程序中,原因是它壓縮比高,生成文件體積小。
中文名便攜式網(wǎng)絡(luò)圖形外文名Portable Network Graphics類 型無(wú)損壓縮的位圖片形格式設(shè)計(jì)目的試圖替代GIF和TIFF文件格式
目錄
1 發(fā)展歷史
2 特性
3 數(shù)據(jù)塊結(jié)構(gòu)
4 PNG格式
? PNG與 GIF
? PNG 與JPEG
? PNG vs JPEG-LS
? PNG與TIFF
發(fā)展歷史編輯 語(yǔ)音
1995年早期,Unisys公司根據(jù)它在GIF格式中使用的LZW數(shù)據(jù)壓縮算法的軟件專利開(kāi)始商業(yè)收費(fèi),為避免專利影響,用于表現(xiàn)單張圖像的PNG、用于表現(xiàn)動(dòng)畫(huà)的MNG圖形文件格式被同時(shí)創(chuàng)建出來(lái)。1999年8月,Unisys公司進(jìn)一步中止了對(duì)自由軟件和非商用軟件開(kāi)發(fā)者的GIF專利免費(fèi)許可,從而使PNG格式獲得了更多的關(guān)注。 [1]
在PNG傳播過(guò)程中,很多網(wǎng)絡(luò)瀏覽器經(jīng)過(guò)很長(zhǎng)時(shí)間才開(kāi)始完全支持PNG格式,如Microsoft Windows默認(rèn)的Internet Explorer瀏覽器一直到7.0版才支持PNG格式中的半透明效果,較早期的版本(如6.0 SP1)需要下載Hotfix 或由網(wǎng)站提供額外的Script去支持,這造成PNG格式并沒(méi)有得到廣泛的認(rèn)知。
1996年6月提出PNF(Portable Network Frame)草案,當(dāng)年8月改名為MNG(Multiple-image Network Graphics)。
PNG的1.0版本規(guī)范于1996年7月1日發(fā)布,后來(lái)被稱為RFC 2083標(biāo)準(zhǔn),并在1996年10月1日成為W3C建議。
PNG的1.1版本進(jìn)行了部分小幅修改并增加了三個(gè)新的數(shù)據(jù)塊定義,于1998年12月31日發(fā)布。
PNG的1.2版本增加了另外一個(gè)數(shù)據(jù)塊,于1999年8月11日發(fā)布。
PNG現(xiàn)行版本是國(guó)際標(biāo)準(zhǔn)(ISO/IEC 15948:2003),并在2003年11月10日作為W3C建議發(fā)布。這個(gè)版本與1.2版僅有細(xì)微差別。
2004年末,PNG的動(dòng)畫(huà)擴(kuò)展——APNG,被提出來(lái)。這是一個(gè)相對(duì)于MNG更簡(jiǎn)單的動(dòng)畫(huà)實(shí)現(xiàn)方案,不識(shí)別APNG格式的PNG解碼器至少能夠正?;胤诺谝环胀≒NG畫(huà)面。 [2]
特性編輯 語(yǔ)音
體積小 網(wǎng)絡(luò)通訊中因受帶寬制約,在保證圖片清晰、逼真的前提下,網(wǎng)頁(yè)中不可能大范圍的使用文件較大的bmp格式文件。
無(wú)損壓縮 PNG文件采用LZ77算法的派生算法進(jìn)行壓縮,其結(jié)果是獲得高的壓縮比,不損失數(shù)據(jù)。它利用特殊的編碼方法標(biāo)記重復(fù)出現(xiàn)的數(shù)據(jù),因而對(duì)圖像的顏色沒(méi)有影響,也不可能產(chǎn)生顏色的損失,這樣就可以重復(fù)保存而不降低圖像質(zhì)量。
索引彩色模式 PNG-8格式與GIF圖像類似,同樣采用8位調(diào)色板將RGB彩色圖像轉(zhuǎn)換為索引彩色圖像。圖像中保存的不再是各個(gè)像素的彩色信息,而是從圖像中挑選出來(lái)的具有代表性的顏色編號(hào),每一編號(hào)對(duì)應(yīng)一種顏色,圖像的數(shù)據(jù)量也因此減少,這對(duì)彩色圖像的傳播非常有利。
更優(yōu)化的網(wǎng)絡(luò)傳輸顯示 PNG圖像在瀏覽器上采用流式瀏覽,即使經(jīng)過(guò)交錯(cuò)處理的圖像會(huì)在完全下載之前提供瀏覽者一個(gè)基本的圖像內(nèi)容,然后再逐漸清晰起來(lái)。它允許連續(xù)讀出和寫(xiě)入圖像數(shù)據(jù),這個(gè)特性很適合于在通信過(guò)程中顯示和生成圖像。
支持透明效果 PNG可以為原圖像定義256個(gè)透明層次,使得彩色圖像的邊緣能與任何背景平滑地融合,從而徹底地消除鋸齒邊緣。這種功能是GIF和JPEG沒(méi)有的。
PNG同時(shí)還支持真彩和灰度級(jí)圖像的Alpha通道透明度。 [3] 最高支持24位真彩色圖像以及8位灰度圖像。支持Alpha通道的透明/半透明特性。支持圖像亮度的Gamma校準(zhǔn)信息。支持存儲(chǔ)附加文本信息,以保留圖像名稱、作者、版權(quán)、創(chuàng)作時(shí)間、注釋等信息。
數(shù)據(jù)塊結(jié)構(gòu)編輯 語(yǔ)音
PNG圖像格式文件(或者稱為數(shù)據(jù)流)由一個(gè)8字節(jié)的PNG文件署名(PNG file signature)域和按照特定結(jié)構(gòu)組織的3個(gè)以上的數(shù)據(jù)塊(chunk)組成。
PNG定義了兩種類型的數(shù)據(jù)塊,一種是稱為關(guān)鍵數(shù)據(jù)塊(critical chunk),這是必需的數(shù)據(jù)塊,另一種叫做輔助數(shù)據(jù)塊(ancillary chunks),這是可選的數(shù)據(jù)塊。關(guān)鍵數(shù)據(jù)塊定義了4個(gè)標(biāo)準(zhǔn)數(shù)據(jù)塊,每個(gè)PNG文件都必須包含它們,PNG讀寫(xiě)軟件也都必須要支持這些數(shù)據(jù)塊。雖然PNG文件規(guī)范沒(méi)有要求PNG編譯碼器對(duì)可選數(shù)據(jù)塊進(jìn)行編碼和譯碼,但規(guī)范提倡支持可選數(shù)據(jù)塊。
每個(gè)數(shù)據(jù)塊都由表6-07所示的的4個(gè)域組成:
長(zhǎng)度.
一個(gè)4字節(jié)的無(wú)符號(hào)整數(shù),給出數(shù)據(jù)塊的數(shù)據(jù)字段的長(zhǎng)度(以字節(jié)計(jì))。 長(zhǎng)度只計(jì)算數(shù)據(jù)域,為了兼容一些不支持無(wú)符號(hào)的語(yǔ)言,所以長(zhǎng)度限制在(231-1)字節(jié),不能達(dá)到((232-1)字節(jié)。
數(shù)據(jù)塊類型碼.
一個(gè)4字節(jié)的塊類型代碼。 為了便于描述和檢查PNG文件,類型代碼僅限于大寫(xiě)和小寫(xiě)的ASCII字母(A - Z和a - z,使用十進(jìn)制ASCII代碼表示為65-90和97-122)。 然而,編碼器和解碼器必須把代碼作為固定的二進(jìn)制值而非字符串來(lái)處理。
數(shù)據(jù)域.
數(shù)據(jù)塊的數(shù)據(jù)域,存儲(chǔ)按照數(shù)據(jù)塊類型碼指定的數(shù)據(jù)(如果有的話)。 該字段可以是長(zhǎng)度為零。
循環(huán)冗余檢測(cè).
一個(gè)4字節(jié)的CRC(循環(huán)冗余校驗(yàn))計(jì)算,在所述塊的前面的字節(jié),包括該塊類型的代碼和數(shù)據(jù)塊的數(shù)據(jù)字段,但是不包括長(zhǎng)度字段。 CRC始終存在,即使不包含數(shù)據(jù)塊。
PNG格式編輯 語(yǔ)音
PNG格式有8位、24位、32位三種形式,其中8位PNG支持兩種不同的透明形式(索引透明和alpha透明),24位PNG不支持透明,32位PNG在24位基礎(chǔ)上增加了8位透明通道,因此可展現(xiàn)256級(jí)透明程度。
PNG8和PNG24后面的數(shù)字則是代表這種PNG格式最多可以索引和存儲(chǔ)的顏色值。8代表2的8次方也就是256色,而24則代表2的24次方大概有1600多萬(wàn)色。
PNG與 GIF
1、一般情況下將靜態(tài)GIF圖像無(wú)損轉(zhuǎn)換為PNG后可以壓縮率會(huì)略為提高(前提是同樣采用8位索引模式)。
2、PNG可提供更大顏色深度的支持,包括24位(8位3通道)和48位(16位3通道)真彩色。加入α通道后可進(jìn)一步支持每像素64位的表示。
3、超過(guò)8位色深的PNG圖像轉(zhuǎn)換為GIF時(shí),圖像質(zhì)量會(huì)由于分色(顏色數(shù)減少)而下降。
4、GIF原生支持動(dòng)態(tài)圖像,PNG只能通過(guò)非標(biāo)準(zhǔn)實(shí)現(xiàn),在PNG的基礎(chǔ)上另有發(fā)展出支持動(dòng)畫(huà)的APNG和MNG格式,但普及度不高。PNG在IE6等舊瀏覽器上的支持較差。
PNG 與JPEG
1、JPEG可以對(duì)照片(或類似)圖像生成更小的文件,這是由于JPEG采用了一種針對(duì)照片圖像的特定有損編碼方法,這種編碼適用于低對(duì)比,圖像顏色過(guò)渡平滑,噪聲多,且結(jié)構(gòu)不規(guī)則的情況下。如果在這種情況下用PNG代替JPEG,文件尺寸增大很多,而圖像質(zhì)量的提高有限。相應(yīng)的,如果保存文本,線條或類似的邊緣清晰,有大塊相同顏色區(qū)域的圖像,PNG格式的壓縮效果就要比JPEG好很多,并且不會(huì)出現(xiàn)JPEG那樣的高對(duì)比度區(qū)域的圖像有損。如果圖像既有清晰邊緣,又有照片圖像的特點(diǎn),就在在這兩種格式之間權(quán)衡一下了。JPEG不支持透明度。
2、由于JPEG是有損壓縮,會(huì)產(chǎn)生迭代有損,在重復(fù)壓縮和解碼的過(guò)程中會(huì)不斷丟失信息使圖像質(zhì)量下降。由于PNG是無(wú)損的,保存將要被編輯的圖像來(lái)說(shuō)更加合適。雖然PNG壓縮照片圖像也有效,但有專門(mén)針對(duì)照片圖像設(shè)計(jì)的無(wú)損壓縮格式,比如無(wú)損JPEG2000,Adobe DNG等。總的來(lái)說(shuō)這些格式都不能做到適用所有圖像。對(duì)于將要發(fā)布的圖像可以保存成JPEG,用JPEG編碼一次不會(huì)造成明顯的圖像有損。
PNG vs JPEG-LS
JPEG-LS是一個(gè)“幾乎”無(wú)損壓縮格式,相對(duì)于上面提到的有損JPEG壓縮,它的知名度不高。它可以直接和PNG相比較,使用一組標(biāo)準(zhǔn)的測(cè)試圖像。在Waterloo Repertoire ColorSet(一組標(biāo)準(zhǔn)測(cè)試圖像)下,JPEG-LS通常表現(xiàn)要比PNG好10%-15%,但其中有一些圖像PNG表現(xiàn)明顯更好一些,大約50%-75%。所以,如果這兩種格式都支持而且對(duì)圖像文件大小很敏感的話,可以用這兩種格式都試試,和圖像數(shù)據(jù)本身有比較大關(guān)系。
PNG與TIFF
TIFF是一個(gè)相當(dāng)多方案結(jié)合的格式。它被廣泛用作專業(yè)圖像編輯軟件之間圖像交換的中間格式,因此它不斷支持更多應(yīng)用程序所需的功能,而對(duì)應(yīng)用程序不關(guān)心的圖像操作部分支持不多。這也意味著許多應(yīng)用程序只能識(shí)別TIFF的一個(gè)子集,而產(chǎn)生更多的潛在混淆之處。
TIFF使用的最通用的無(wú)損壓縮算法是LZW。這種算法--GIF中也在使用,直到2003年一直在專利保護(hù)之中。有一種TIFF變種使用與PNG相同的壓縮算法,但是沒(méi)有被許多專利程序所支持。TIFF也提供了一種特殊的無(wú)損壓縮算法,類似CCITTGroup IV,可以對(duì)二值圖像(比如傳真或黑白文本)比PNG有更好的壓縮效果。 PNG只支持非自左乘α,而TIFF也支持聯(lián)合(自左乘)α。
PNG規(guī)范中不包含嵌入式EXIF(可交換圖像文件格式)圖像數(shù)據(jù)的標(biāo)準(zhǔn),比如數(shù)碼像機(jī)拍得的圖像。而TIFF,JPEG 2000, DNG都支持EXIF。
早期的瀏覽器不支持PNG圖像;JPEG和GIF是主流圖像格式。由于GIF的顏色深度限制,網(wǎng)頁(yè)中的有顏色過(guò)渡的圖像都是使用JPEG。不管怎樣,JPEG壓縮都會(huì)導(dǎo)致圖像的輕微模糊。而PNG可以做到在相應(yīng)顏色深度下的盡可能精確,同時(shí)保持圖像文件不大。PNG已經(jīng)漸漸成為一種對(duì)于小的梯度圖像的較好的選擇,眾多瀏覽器都已經(jīng)對(duì)PNG有了很好的支持 [4] 。
為您推薦
- 如何制作公司網(wǎng)頁(yè) 需要做哪些步驟呢 2022-04-10
- 公司官網(wǎng)建設(shè)應(yīng)該準(zhǔn)備些什么資料? 2022-04-10
- 企業(yè)建設(shè)營(yíng)銷型網(wǎng)站的趨勢(shì) 2022-04-10
- 教育網(wǎng)站建設(shè)時(shí)有哪些事項(xiàng)需要注意 2022-04-10
- 網(wǎng)站建設(shè)提高用戶體驗(yàn)的六大技巧 2022-04-10