簡單來說PNG就是圖片的一種無損壓縮格式,是20世紀90年代中期開始開發(fā)的圖像文件存儲格式。起初這種文件格式試圖想要替代GIF和TIFF文件格式,同時增加一些GIF文件格式所不具備的特性。
PNG圖片格式是1996 年問世的,無損壓縮形式,最常見的使用格式是 256 索引色(PNG-8)和 24 bit 真彩色(PNG-24)(當然 PNG 支持的顏色格式遠不止此),支持 full alpha 通道(256 級可調半透明色),不支持動畫。流式網絡圖形格式(Portable Network Graphic Format,PNG)名稱來源于非官方的“PNG's Not GIF”,是一種位圖文件(bitmap file)存儲格式,讀成“ping”。PNG用來存儲灰度圖像時,灰度圖像的深度可多到16位,存儲彩色圖像時,彩色圖像的深度可多到48位,并且還可存儲多到16位的α通道數據。PNG使用從LZ77派生的無損數據壓縮算法。一般應用于JAVA程序中,或網頁或S60程序中是因為它壓縮比高,生成文件容量小。
PNG定義了兩種類型的數據塊,一種是稱為關鍵數據塊(critical chunk),這是必需的數據塊,另一種叫做輔助數據塊(ancillary chunks),這是可選的數據塊。關鍵數據塊定義了4個標準數據塊,每個PNG文件都必須包含它們,PNG讀寫軟件也都必須要支持這些數據塊。雖然PNG文件規(guī)范沒有要求PNG編譯碼器對可選數據塊進行編碼和譯碼,但規(guī)范提倡支持可選數據塊。
每個數據塊都由表6-07所示的的4個域組成:
長度.
一個4字節(jié)的無符號整數,給出數據塊的數據字段的長度(以字節(jié)計)。 長度只計算數據域,為了兼容一些不支持無符號的語言,所以長度限制在(231-1)字節(jié),不能達到((232-1)字節(jié)。
數據塊類型碼.
一個4字節(jié)的塊類型代碼。 為了便于描述和檢查PNG文件,類型代碼僅限于大寫和小寫的ASCII字母(A - Z和a - z,使用十進制ASCII代碼表示為65-90和97-122)。 然而,編碼器和解碼器必須把代碼作為固定的二進制值而非字符串來處理。
數據域.
數據塊的數據域,存儲按照數據塊類型碼指定的數據(如果有的話)。 該字段可以是長度為零。
循環(huán)冗余檢測.
一個4字節(jié)的CRC(循環(huán)冗余校驗)計算,在所述塊的前面的字節(jié),包括該塊類型的代碼和數據塊的數據字段,但是不包括長度字段。 CRC始終存在,即使不包含數據塊。
PNG的圖片還有一個優(yōu)勢它支持透明和半透明的圖片,非常方便各位小伙伴處理圖片使用。
以上就是PNG素材網小編給他家?guī)淼木手R,希望又給大家?guī)韼椭?