png图片结构

png-8为用8位索引值在调色盘索引颜色,故调色盘颜色最多为128中。

png-8由六块组成:
1.png文件标志,固定64字节:0x89504e47 0x0d0a1a0a
2.文件头数据块IHDR
3.调色板数据块PLTE
4.sBIT,tRNS块
5.图像数据块IDAT
6.图像结束数据IEND,固定96字节:0x00000000 0x49454e44 0xae426082

除了PNG文件标志,其中四大数据块和文件尾都是由统一数据文件结构描述:
Chunk Length:4byte
Chunk Type: 4byte
Chunk Data: Chunk Length长度
Chunk CRC: 4byte

IHDR:描述图形基本信息
图像宽:4byte
图像高:4byte
图像色深:4byte
颜色类型:1byte
压缩方式:1byte
滤波方式:1byte
扫描方式:1byte

PLTE:放置调色盘数据
循环
RED: 1byte
GREEN: 1byte
BLUE: 1byte
END
循环长度,为Chunk Length/3的长度。 Chunk Length一定为3的倍数。

tRNS:时有时无,取决是否使用透明色
循环
if(对应调色盘颜色非透明)
0xFF: 1byte
else
0x00: 1byte
END
循环长度为调色盘颜色数,相当于调色盘颜色表对应表,标识颜色是否透明。一个png文件一般只有一个透明色。

IDTA:存放图像数据,一个png可能有多个IDTA块,该区块是经过压缩,所以数据不可读

IEND:没有Chunk Data,固定96字节

png压缩
1.除六大块外所有区块过滤掉
2.文件头文件尾固定,可去
3.若清楚自己的压缩格式顺序,Chunk Type可去

Png结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值