我想将空字节附加到PNG文件以匹配先前的大小。我已经成功地将10 MB添加到一个小图像中,没有查看图像的问题。我想知道基于PNG格式的定义是否安全,或者我是否因为软件中的错误纠正而感到幸运。
更新:我删除了为什么要这样做。
答案 0 :(得分:3)
附加NULL是否安全取决于解码应用程序和库。如果您想绝对安全,请插入包含NULL的私有块。请注意,此方法将始终向文件添加至少12个字节(4字节长度,4字节块名称,零个或多个NULL字节和4字节CRC),格式为
nnnnzpAD000000CRCN
,其中
nnnn = number of NULLs
zpAD = chunk name
0000000... the NULLs
CRCN = 4-byte CRC calculated over the chunk name and the NULLs
将这个新的“zpAD”块(或任何你决定称之为的块)放在现有的IEND块之前。