2019年4月1日月曜日

PNGのチャンク 第8回 チャンク名の命名規則

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

前回fcTLチャンクを説明しました。ここまでのチャンクが理解できればアニメーションPNGを読み書きする事ができます。

PNGで使われるチャンクには以下の物が有ります。
必須チャンク補助チャンクAPNG拡張チャンク
  • IHDR
  • PLTE
  • IDAT
  • IEND
  • bKGD
  • cHRM
  • gAMA
  • hIST
  • iCCP
  • iTXt
  • pHYs
  • sBIT
  • sPLT
  • sRGB
  • tEXt
  • tIME
  • tRNS
  • zTXt
  • acTL
  • fcTL
  • fdAT

チャンク名は4文字なので英語の省略形が使われるのは当然の成り行きですが、大文字小文字が入り乱れてちょっと読みづらい表記になっています。なぜなのか、それはPNGの仕様で大文字小文字に意味を定義付けているからです。
各桁の意味は次の通りです。

  • 1文字目
    大文字は必須チャンクを示します。
  • 2文字目
    大文字はPNG仕様で定められたチャンクを示します。
    APNG拡張は独自の拡張チャンクなので2文字目が小文字になっています。
  • 3文字目
    必ず大文字を使う事になっています。将来的には何かしらの意味を付加するかもしれません。
  • 4文字目
    大文字はベタコピー禁止を示します。PNGエディタは他のチャンクとの連携を考慮してコピーするか変更するか判断しなくてはなりません。
    小文字の場合は何も考えずにコピーしても表示画像に影響が無いチャンクです。
以上の規則が有りますが、PNG画像を表示する時にはチャンク名の大文字小文字を区別しない事になっています。

この先からは補助チャンクを紹介していきます。まず次回はtRNSチャンクを紹介します。


0 件のコメント:

コメントを投稿