在未得到原作者的同意下转载,特地在此贴出源地址以作声明:http://wmnmtm.blog.163.com/blog/static/38245714201062355737480/
--------------------------------华丽的分割线----------------------------
结合上面对PNG文件的分析,下面分别对256色和16位色的PNG图像进行十六进制分析,通过分析PNG文件让读者更深入了解PNG文件格式。
如图5-15和图5-16所示,分别为256色PNG图像pic1.png和16位色PNG图像pic2.png。其中pic1.png图像的分辨率为200×150,文件大小为19 534 字节。pic2.png图像的分辨率为200×150,文件大小为104 744字节,带透明通道。
查看大图 |
图5-15 pic1.png图像 |
查看大图 |
图5-16 pic2.png图像 |
现在来分析pic1.png的图像文件,在Winhex中打开pic1.png,如图5-17所示。
查看大图 |
(点击查看大图)图5-17 在Winhex中打开pic1.png文件 |
首先分析PNG的文件标志。根据PNG文件的定义,从文件头开始前8字节数据是PNG文件的标志,如图5-18所示。
查看大图 |
(点击查看大图)图5-18 PNG文件的文件标志 |
接下来应该就是PNG文件的数据块结构了,按照前面对PNG文件结构的分析,第一个数据块应该是文件头数据块(IHDR)数据块,文件头数据块(IHDR)定义了PNG文件的宽高、色深、压缩方法等参数,如图5-19所示。
查看大图 |
(点击查看大图)图5-19 文件头数据块(IHDR)结构 |