PNG图像文件格式

PNG是一种无损压缩的位图片形格式,设计用于替代GIF和TIFF。PNG文件由固定字节的文件头和多个数据块(Chunk)组成,包括IHDR(图像基本信息)、pHYs(像素比例)、iCCP(色彩配置)和IDAT(图像数据)、IEND(文件结束)。每个数据块都有特定的长度、类型代码、数据内容和CRC校验。
摘要由CSDN通过智能技术生成

1.什么是PNG

便携式网络图形(Portable Network Graphics)是一种无损压缩的位图片形格式。其设计目的是试图替代GIF和TIFF文件格式,同时增加一些GIF文件格式所不具备的特性。PNG的名称来源于“可移植网络图形格式(Portable Network Graphic Format,PNG)”,也有一个非官方解释“PNG's Not GIF”。

2.PNG文件格式

对于一个PNG文件来说,其文件头总是由位固定的字节来描述的,HEX: 89 50 4E 47 0D 0A 1A 0A;其中第一个字节0x89超出了ASCII字符的范围,这是为了避免某些软件将PNG文件当做文本文件来处理。


文件中剩余的部分由3个以上的PNG的数据块(Chunk)按照特定的顺序组成,因此,一个标准的PNG文件结构应该如下:

PNG文件标志 PNG数据块 …… PNG数据块
其中:数据块必定包括一个IHDR数据块,一个以上的IDAT数据块,一个IEND数据块。

PNG文件格式中的数据块(部分)
数据块符号
数据块名称 
多数据块 
可选否 
位置限制 
IHDR  文件头数据块  否  否  第一块 
cHRM  基色和白色点数据块  否  在PLTE和IDAT之前
gAMA  图像γ数据块  否  在PLTE和IDAT之前 
sBIT  样本有效位数据块  否  在PLTE和IDAT之前 
PLTE  调色板数据块  否  在IDAT之前 
bKGD  背景颜色数据块  否  在PLTE之后IDAT之前 
hIST  图像直方图数据块  否  在PLTE之后IDAT之前 
tRNS  图像透明数据块  否  在PLTE之后IDAT之前 
oFFs  (专用公共数据块)  否  在IDAT之前 
pHYs  物理像素尺寸数据块 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值