以下のサンプル画像から、表示のみを目的として黄色の枠線を付けています。
実際の .png ファイルは、3 ピクセル x 3 ピクセルの単純な白黒画像です。私はもともと 2x2 として試してみることを考えていましたが、低/高対高/低の描画ストリームを解釈しようとするのには役に立ちません。少なくともこの方法では、上から黒が 2 つ、白が 1 つ、または下から白が 1 つ、黒が 2 つになります。
したがって、データのチャンクを読み取り、IDAT チャンクに到達し、それ (zlib) をデコードして、次のように 12 バイトを取得します。
00 20 00 40 00 80
では、私の質問ですが、上記はどのようにして 3x3 の白黒サンプルに分解されるのでしょうか...また、パレット形式で保存され、1 のビット深度と 2 のカラー パレットを適切に認識します... color pallet[0 ] は RGBA すべてゼロです。パレット1の RGBA は 255、255、255、0
最終的には、他の複数の深度形式について説明しますが、最も簡単であると予想されるものから始めたかっただけです。
パート II。他の深度形式の処理に関するガイダンスは、特にアルファチャネル (パレットで既に探しているもの) に関して何か特別なことを考慮する必要がある場合に役立ちます。