真彩圖像:每一個像素由R、G、B三個份量表示,每一個通道取值範圍0~255。數據類型通常爲8位無符號整形。
灰度圖像:每一個像素只有一個採樣顏色的圖像,這類圖像一般顯示爲從最暗黑色到最亮的白色的灰度。
二值圖像(黑白圖像):每一個像素點只有兩種可能,0和1.0表明黑色,1表明白色。數據類型一般爲1個二進制位。
索引圖像:相似於查字典,爲了解決彩色圖像消耗空間大的問題,通常應用於色彩構成比較簡單的場景。算法
無限放大不失真數據庫
不能無限放大,放大會失真
色值多,逼真
圖片,canvascanvas
alpha 透明
索引色透明
不透明網絡
阿爾法通道是一個8位的灰度通道,該通道用256及灰度來記錄圖當中的透明度信息,定義透明、不透明和半透明區域,其中白表示不透明,黑色表示透明,灰度表示透明。數據結構
PNG全稱叫便攜式網絡圖型(Portable Network Graphics
)是目前網絡傳輸和頁面展現中最經常使用的圖片格式,首先它有幾個主要特色:無損壓縮
、體積小
和支持透明
。編碼
bit 比特 表示信息的最小單位,是二進制數的一位包含的信息.net
PNG圖片主要格式:PNG8
/ PNG24
/ PNG32
PNG8:8bit 2^8 256顏色種類
索引色透明只能夠簡單的指定一個像素點是否是透明(是或者不是),而 Alpha 透明則可指定該像素點的透明的程度(透明度),如30%的透明度。
PNG24:每8bit去表示R、G、B,不支持透明
色彩更豐富,2^24種顏色
ps導出的png24實際上是png32
PNG32:多一個alpha通道,支持256級灰度透明code
由文件頭+各類各樣的PNG數據塊Chunk組成。
其中數據塊分爲兩類:
關鍵數據塊(必須)、輔助數據塊
文件標誌由8個字節數據組成: 89 50 4E 47 0D 0 A 1A 0A,其中50 4E 47對應的ASCII值是」PNG「
關鍵數據庫由4部分組成:
文件頭數據塊 IHDR
調色板數據塊 PLTE (根據圖像的色深可選)
圖像數據塊 IDAT
輔助數據塊一共有14個。
圖像結束數據塊 IENDblog
數據塊格式:索引
字段名 | 大小(單位:字節) | 描述 |
---|---|---|
length | 4 | 指定數據塊中的數據長度 |
chunk type code | 4 | 數據塊類型,例如:IHDTR、PLTE等 |
chunk data | ~ | 存儲數據 |
CRC | 4 | 循環冗餘碼 |
參考文獻:
PNG文件存儲格式定義
分析PNG數據結構
Delta encoding
差分編碼,對圖片進行預處理
目的:儘量將png圖片的數據值轉換成一組重複的、低的值,這樣更容易壓縮
DEFLATE是同時使用了LZ77算法與哈夫曼編碼(Huffman Coding)的一個無損數據壓縮算法。
[分析連接](https://blog.csdn.net/minggeqingchun/article/details/78748550)