一 PNG 文件结构
PNG 文件由文件署名域(8 字节)和最少 3 个数据块(Chunk)按照特定的顺序
排列而成。
数据块分为两类:
关键数据块(Critical Chunk):必须包含的数据块。
辅助数据块(Ancillary Chunk):可选的数据块。
png 文件署名域 png 数据块 png 数据块 ....... png 数据块
二 PNG 文件的标志
8 字节的 PNG 文件署名域用来识别该文件是不是 PNG 文件。该域的值如下:
十进制数 137 80 78 71 13 10 26 10
十六进制数 89 50 4E 47 0D 0A 1A 0A
三 PNG 文件的数据块
PNG 文件有两种类型的数据块。关键数据块(critical chunk)和辅助数据块(ancillary
chunks)。每个数据块由 4 个部分组成。
名称 字节数 说明
Length 4 指定数据块中数据域的长度,其长度不超过(2^31-1)字节
Chunk Type code4 数据块类型码,由 ASC||字母(A~Z)(a~z)组成
Chunk Data 可变 存储按照 Chunk Type Code 指定的数据
CRC 4 存储用来检测是否有错误的循环冗余码
1.关键数据块有:
(1)文件头数据块 IHDR(header chunk)
包含 PNG 文件里存储的图像数据的基本信息,作为第一个数据块出现在 PNG 数
据流中,一个 PNG 数据流有且仅有一个文件头数据块。IHDR 数据块的 Chunk type
code:0x49 48 44 52(ASCII 码“IHDR”),标识该块类型
域的名称 字节数 说明
width 4 图像宽度
height 4 图像高度
bit depth 1
图像深度:
索引彩色图像:1,2,4 或 8
灰度图像:1,2,,4,8 或 16
评论0
最新资源