PNG 数据块
更多
PNG 文件由固定文件签名和一系列“数据块”构成。标准 PNG 必须先有 IHDR,接着至少一个 IDAT,最后以 IEND 结束;PLTE 及文本等附属块视图像类型和内容出现。[1]
块的作用
| 块 | 主要内容 |
|---|---|
| IHDR | 宽、高、位深、颜色类型等图像头信息。 |
| IDAT | 经压缩的图像数据;可以分成多个连续块。 |
| IEND | 文件结束标志,不承载图像数据。 |
每个块还有长度、类型和 CRC。CRC 用于检测块数据损坏,不能证明图片来自谁。多个 IDAT 的边界不必与图像行或压缩块边界一致。[1]
边界
元数据块与像素内容不同;修改块顺序或内容可能令文件不合规范。解读未知块时应遵守“关键块/附属块”标志,不把任意附加字节都当作有效 PNG 块。