分析PNG图像文件结构(3)

5.2.3  分析PNG图像文件结构(3)

表5-17所示为pic1.png图像文件中物理像素尺寸数据块(pHYs)中各字段的含义。

表5-17 pic1.png图像文件中物理像素尺寸数据块(pHYs)中各字段的含义


十六进制值

描    述

00 00 00 09

物理像素尺寸数据块的长度,00 00 00 09 =9

70 48 59 73

数据块类型标志,70 48 59 73的ASCII值等于pHYs

00 00 0B 13

x轴上每米像素的数量,00 00 0B 13 = 2835,即每米2835个像素

00 00 0B 13

y轴上每米像素的数量,00 00 0B 13 = 2835,即每米2835个像素

01

Meter=1,将单位定义为米

00 9A 9C 18

CRC值


继续分析下面的数据,按照前面的分析方法,分析出接下来的数据块是iCCP,iCCP数据块是PNG解码时进行特殊的颜色处理信息。

iCCP数据块的结构可以用以下代码定义:

PNG_CHUNK_HEADER chunkHdr
typedef struct {
string profile_name;
unsigned byte red;
} PNG_ICCP_CHUNK_DATA;
DWORD ICCPCrc;
图5-21所示为pic1.png中的iCCP的数据结构。
498)this.style.width=498;" border=0< 
(点击查看大图)图5-21  pic1.png图像文件中iCCP数据块结构
498)this.style.width=498;" border=0< 
(点击查看大图)图5-21  pic1.png图像文件中iCCP数据块结构


表5-18所示为pic1.png图像文件中的iCCP数据块各字段的含义。

表5-18 pic1.png图像文件中的iCCP数据块各字段的含义

十六进制值

描    述

00 00 0A 4D

ICCP数据块的长度,00 00 0A 4D = 2637

69 43 43 50

数据块类型标志,69 43 43 50的ASCII值等于iCCP

50 68 6F 74 6F 73 68 6F 70 20 49 43 43 20 70 72 6F 66 69 6C 65 00

配置文件名,长度1~79字节,以0作为终止符的字符串。

50 68 6F 74 6F 73 68 6F 70 20 49 43 43 20 70 72 6F 66 69 6C 65 00 的ASCII值等于Photoshop ICC profile

00

压缩方法,0表示使用deflate压缩

78 DA 9D 53~F7 84 F3 FB

压缩后的配置文件,解码时使用

继续分析下面的数据,按照前面的分析方法,分析出接下来的数据块是gAMA,gAMA数据块是PNG解码时进行gamma校正的信息。

gAMA数据块的结构可以用以下代码定义:

PNG_CHUNK_HEADER chunkHdr;
BYTE gamaChunkData[chunkHdr.btChunkLen];
DWORD gamaCrc;
图5-22所示为pic1.png中的gAMA的数据结构:
498)this.style.width=498;" border=0< 
(点击查看大图)图5-22  pic1.png图像文件中gAMA数据块结构
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值