现需要生成一无压缩的png文件。
在网上找到一文:《PNG文件结构分析之二(在手机上生成PNG文件)》(可在google搜到)
我已按这个格式正确生成了png文件
查阅其他资料可知,PNG文件可以有多个IDAT chunk, 但如何组织多个IDAT构成PNG文件则没有详细说明。
作了如下实验,生成的文件用看图软件打开时提示有错。
一个50行50列像素的图,分为连续的两个IDAT存数据,第一个存25行50列(即图像的上半截),另一个IDAT存25行50列(即图像的下半截)。每个IDAT CHUNK的无压缩的LZ77压缩块都以0x78, 0xda, 0x1开头,然后是LEN、NLEN,然后是数据,然后是crc信息。
奇怪的是,2个idat,分别是图像的上半部分和下半部分,如果是一个idat,不管是上半部还是下半部能正常显示,但是合到一起就只显示第一个idat的内容,非常奇怪
看图可知,上面分别是一个png的上半部和下半部,单独显示都ok,合到一起就不行了,第一个idat可以显示,紧接着的第二个就一片空白,不知道多个idat数据要怎么才能正确显示