スポンサーサイト

一定期間更新がないため広告を表示しています


- | | - | - | ↑TOP | BlogRanking
GIFアニメフォーマット
GIFアニメか、ただのGIF画像かどうかを判定するために、画像内のデータを解析してみました。

一般的なGIFアニメの使用はこうなっているらしいです。

GIF Header
Application Extension
Graphic Control Extension
Image Block
Graphic Control Extension
Image Block
(Graphic Control ExtensionとImage Blockの組み合わせが続く)
:
:
Trailer

GIFアニメの場合はGIF Headerの次にApplication Extensionというブロックがあるらしいんですが、Application Extensionが開始されるという意味の固定値を頼りに解析してみると、固定値があったりなかったりの画像が出てきたのでなんだろと思っていたら、どうやらApplication ExtensionはGIFアニメが無限ループ設定になっているときに付随されるブロックらしいという事がわかりました。
そして、GIFアニメじゃない普通のGIF画像にもApplication Extensionの値が存在する場合があるんで、この値は判別の値にはなり得ない事がわかりました。

GIFアニメの1フレームごとに存在するGraphic Control Extensionブロックの固定値(0x21 0xf9 0x04)を頼りに解析してみると成功しました。

Graphic Control Extensionブロックの固定値 = 画像フレーム数

という事なので、Graphic Control Extensionブロックの固定値が1つ以上あるものはGIFアニメだという事です。
今のところうまくいってるんで、たぶんこれでOKかな(・e・)

参考ページ

PC全般 | 13:56 | - | - | ↑TOP | BlogRanking
スポンサーサイト

- | 13:56 | - | - | ↑TOP | BlogRanking
カレンダー
S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
<< July 2017 >>
最近の記事
カテゴリ
月別
リンク
gumonji ブログランキング このブログを評価する
プロフィール
カウンター
このブログ内を検索