2019年3月25日月曜日

PNGのチャンク 第4回 PLTEチャンク


こんにちは、きまぐれソフトです。

前回はカラータイプと色深度について説明しましたが、その中のインデックスカラーの時に必須となるPLTEチャンクを紹介します。

インデックスカラーではIDATチャンクに含まれるデータはカラーパレットの番号だけを示し、実際に表示されるべき色の情報は含まれていません。そのためPLTEチャンク内で色番号に対応した表示色を指示する事になっています。

PLTEチャンク


PLTEチャンクには表示色がRGB各1バイトが1組のカラーパレットとなってパレット番号順に格納されます。パレット番号を指定する項目は存在せず、並び順で0番から割り当てられます。
チャンク長は3の倍数でなければエラーファイルとして扱われます。色深度で表現できる大色数まで格納可能で、使われないカラーパレットは切り捨ててチャンクを短くできます。
PLTEチャンクはIDATチャンクよりも前に置かなければなりません。

ここまでで紹介した4つのチャンク(IHDR、IDAT、IEND、PLTE)が仕様上は必須チャンクとされています。これ以外のチャンク(cHRM、gAMA、iCCP、iTXt、sBIT、sRGB、bKGD、hIST、tRNS、pHYs、tEXt、zTXt)は補助チャンクと定義され、ファイル作成時に付加しなくても良く、画像表示時に無視しても構わない事とされています。

補助チャンクの説明に入る前に、次回はAPNG拡張チャンクを紹介します。


0 件のコメント:

コメントを投稿