一、什么是PNG文件
简介
PNG(Portable Network Graphic)是一种采用无损压缩算法的位图存储格式,其设计目的是替代GIF和TIFF文件格式,同时增加一些GIF文件格式所不具备的特性。
特性
1.保留了GIF文件格式的某些特性,比如说使用调色板可支持256种颜色的彩色图像;图像文件格式允许连续读出和写入图像数据,便于网络传输图像;在通信传输图像的同时接收图像,先显示轮廓后逐渐填充细节等等。
2.同时增加了一些GIF文件格式所没有的特性,比如说可为灰度图像和真彩色图像添加α通道、添加图像的γ信息、使用CRC检测损害的文件和可在一个文件中存储多幅图像等等。
二、PNG文件的数据如何组织——文件结构
PNG文件由两部分组成:文件署名域和数据块组成。
文件署名域
8个字节,为PNG文件头标志,用来识别该文件是不是PNG文件。它的值为:
十进制:137 80 78 71 13 10 26 10
十六进制:89 50 4E 47 0D 0A 1A 0A
数据块
数据块有两种类型:关键数据块(critical chunk)和辅助数据块(ancillary chunks)。
每个数据块都由四个部分组成,如下表:
名称 | 字节数 | 说明 |
---|---|---|
Length(长度) | 4 | 指定数据块中data的长度,不超过 ( 2 31 − 1 ) (2^{31}-1) |