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