中井技術工房  VC/MFC による PNG画像変換
PNG ファイルの重要データ Feb.02,2010 改正


トップ > PNG画像変換トップ > ここ

PNG ファイルの重要データ

汎用ソースを利用しますので、PNG ファイルの中身にはそれほど立ち入る必要はありませんが、見張っておいた方がいいだろうという最低限のデータだけを紹介します。

画像ファイル先頭部分

先頭部分には、赤枠で囲んだ識別文字列があります。
少なくとも先頭の 'PNG' は見張っていた方がいいでしょう。
青枠で囲んだ画像サイズ情報も重要です。他の画像フォーマットと違って、Big Endian です。注意ください。

[ パレットのない場合 ]

データ('IDAT') はドットごとの色情報を3バイトごと(RGB順,8bit のとき)もしくは6バイトごと(16 bit のとき)に示しています。


[ パレットのある場合 ]

データ('IDAT') が出る前に3バイトごと(RGB順)のパレットがでてきます。
この場合、データはRGB値ではなく、パレットのシリアルを表現しています。


[ カラータイプ=3は tRNS チャンクあり ]
tRNS チャンクはα値をパレットデータ数だけ格納しています。
このα値は8ビットで、0はすべて背景、255はすべて画像、中間は、
    R表示値 = Rファイル値 * α/255 + (背景)*(255-α)/255
という計算をしてモニタ上に表示するようです。
ファイル変換のときは、しょうがないので、背景=255 とせざるを得ません。



画像ファイル最終部分

ここには、'IEND' という終了文字列があります。
これでファイルの最終であることを確認できます。



トップ > PNG画像変換トップ > 頁トップ