PNG图像文件存储结构(2)
5.2.2 PNG图像文件存储结构(2)
用图像可以清晰显示表5-9和表5-10之间的关系,如图5-13和图5-14所示。
|
(点击查看大图)图5-13 包含调色板数据块(PLTE)的PNG图像文件格式 |
|
(点击查看大图)图5-14 不包含调色板数据块(PLTE)的PNG图像文件格式 |
图中上标的含义如表5-11所示。
表5-11 上标的含义
符 号 | 含 义 |
1 | 只有1个 |
+ | 1个或多个 |
? | 0个或1个 |
* | 0个或多个 |
| | 2选1 |
PNG图像文件中每一块数据块的格式都是相同的,分别由4个部分组成,格式如表5-12所示。
表5-12 PNG文件的数据块格式
字 段 名 | 大小(单 位:字节) | 描 述 |
Length(长度) | 4 | 指定数据块中的数据长度 |
Chunk Type Code(数据块类型码) | 4 | 数据块类型,例如 IHDR、PLTE、IDAT等 |
Chunk Data(数据块数据) | Length | 存储数据 |
CRC(循环冗余检测) | 4 | 循环冗余码 |
CRC循环冗余码生成的计算方式是通过对Chunk Type Code和Chunk Data中的数据进行计算得到的,计算方式如下:
x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1 |