PNG圖片主要有三個(gè)類(lèi)型,分別為 PNG 8/ PNG 24 / PNG 32。
1、PNG 8:PNG 8中的8,其實(shí)指的是8bits,相當(dāng)于用2^8(2的8次方)大小來(lái)存儲(chǔ)一張圖片的顏色種類(lèi),2^8等于256,也就是說(shuō)PNG 8能存儲(chǔ)256種顏色,一張圖片如果顏色種類(lèi)很少,將它設(shè)置成PNG 8得圖片類(lèi)型是非常適合的。
2、PNG 24:PNG 24中的24,相當(dāng)于3乘以8 等于 24,就是用三個(gè)8bits分別去表示 R(紅)、G(綠)、B(藍(lán))。R(0-255),G(0-255),B(0-255),可以表達(dá)256乘以256乘以256=16777216種顏色的圖片,這樣PNG 24就能比PNG 8表示色彩更豐富的圖片。但是所占用的空間相對(duì)就更大了。
3、PNG 32:PNG 32中的32,相當(dāng)于PNG 24 加上 8bits的透明顏色通道,就相當(dāng)于R(紅)、G(綠)、B(藍(lán))、A(透明)。R(0255),G(0255),B(0255),A(0255)。比PNG 24多了一個(gè)A(透明),也就是說(shuō)PNG 32能表示跟PNG 24一樣多的色彩,并且還支持256種透明的顏色,能表示更加豐富的圖片顏色類(lèi)型。
PNG圖片的壓縮,分兩個(gè)階段:
1、預(yù)解析(Prediction):這個(gè)階段就是對(duì)png圖片進(jìn)行一個(gè)預(yù)處理,處理后讓它更方便后續(xù)的壓縮。
2、壓縮(Compression):執(zhí)行Deflate壓縮,該算法結(jié)合了 LZ77 算法和 Huffman 算法對(duì)圖片進(jìn)行編碼。