PNG文件分析

PNG定义了一种数据块叫关键数据块,是必需的,另一种叫做辅助数据块,是可选的。关键数据块定义了每个PNG文件读写都必须有的4个标准数据块。
每个数据块都由以下四个部分组成:
长度:
一个4字节的无符号整数,给出数据域的长度,长度限制在(2^31-1)字节。
数据块类型码:
一个4字节的块类型代码, 为了便于描述和检查PNG文件,类型代码仅限于大写和小写的ASCII字母(A - Z和a - z。
数据域:
数据块的数据域,存储按照数据块类型码指定的数据(如果有的话)。 该字段可以是长度为零。
循环冗余检测:
一个4字节的CRC(循环冗余校验)计算,包括该块类型的代码和数据块的数据字段,但是不包括长度字段。
实例图片
在这里插入图片描述
这前八个字节说明这是一个PNG格式图片。
在这里插入图片描述
最后的这四位表示这个图片的IHDR长度位13字节
在这里插入图片描述
这十三位就是文件头
00 00 00 F0说明这个文件的宽度为240个像素
下一个00 00 00 F0说明这个文件的高度为240个像素
08 是图像深度为8bit深度
06 是颜色类型为6,带α通道数据的真彩色图像
00 是压缩方法
00 是滤波器方法
00 是非隔行扫描

在这里插入图片描述
空过4个字节后,这四个字节表示调色板有9个字节
再空过四个字节后,就是存储的颜色数据了,以三个字节为一组分别是RGB信息

最后,00 00 00 00 49 45 4E 44 AE 42 60 82是PNG文件的结尾

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值