从下面的示例图像中,我有一个黄色边框,仅用于显示目的。
实际的 .png 文件是 3 像素 x 3 像素的简单黑白图像。我最初想尝试作为 2x2,但这无助于尝试解释低/高与高/低绘图流。至少这样,我会从顶部有两个黑色,一个白色,或者从底部开始一个白色,两个黑色..
所以我读取了数据块,得到了 IDAT 块,解码(zlib)并得出 12 个字节,如下所示
00 20 00 40 00 80
所以,我的问题是,上面的内容如何分解为 3x3 黑白样本...此外,它以调色板格式保存,并正确识别 1 的位深度和 2 的调色板...调色板 [0 ] 是 RGBA 全零。调色板1的 RGBA 为 255、255、255、0
稍后我将最终进入多种其他深度格式,只是想从最简单的开始。
第二部分。如果需要考虑任何特别的问题,尤其是关于 Alpha 通道(我已经在调色板中寻找)可能会绊倒我的任何处理其他深度格式的指导。