解説 | |
ファイルヘッダ | 共通情報(13バイト) + 共通パレット(可変長) |
ブロックデータ | Graphic Control Extension 拡張データ(可変長) |
Image Block 画像データ(可変長) |
|
後書き | 0x3B(1バイト) ブロックの終わりを示す |
アドレス (サイズ) | 名称 | 内容 |
0x0000 (3) | Signature | GIF ファイルシグネチャ。'GIF' |
0x0003 (3) | Version | GIF バージョン。'87a' や '89a' 等がある |
0x0006 (2) | Logical Screen Width | 画像の幅 |
0x0008 (2) | Logical Screen Height | 画像の高さ |
0x000A (1) | Packed Fields | Global Color Table Flag(1 Bit) 共通パレットの有無 Color Resolution(3 Bits) この値(0〜7)に1を足した値が、画像1ドットを表わすのに必要なビット数 Sort Flag(1 Bit) 共通パレットのソートの有無 Size of Global Color Table(3 Bits) この値(0〜7)に1を足した値をnとして、2のn乗が共通パレットの個数 |
0x000B (1) | Background Color Index | 背景色のパレット番号 |
0x000C (1) | Pixel Aspect Ratio | ピクセルの縦横比。 この値(1〜255)をnとし、(n+15)/64 が実際の比率となる。 値0はこの比率情報が与えられていないことを意味する。 |
0x000D (-) | Global Color Table | 共通パレット。 Global Color Table Flagが1の場合に存在する。 1つの色情報につきRGBの3バイトずつ、2の(Size of Global Color Table)乗個並ぶ。 |
アドレス (サイズ) | 名称 | 内容 |
0x0000 (1) | Signature | 拡張ブロックであることを示す 0x21 固定値 |
0x0001 (1) | Graphic Control Label | このブロックがGraphic Control Extensionであることを示す 0xF9 固定値 |
0x0002 (1) | Block Size | ブロックサイズ。0x04 固定値 |
0x0003 (1) | Packed Fields | Reserved(3 Bits) 予約領域 常に 0 Disposal Mothod(3 Bits) フレームの描画方法 0 - 何もしない 1 - 重ねる 2 - 背景色で塗りつぶす 3 - 前に戻す User Input Flag(1 Bits) ユーザー入力の有無 Transparent Color Flag(1 Bits) 透過処理の有無 |
0x0004 (2) | Delay Time | 表示する際の遅延時間(100分の1秒単位) |
0x0006 (1) | Transparent Color Index | 透過処理する色のパレット番号 |
0x0007 (1) | Block Terminator | ブロック並びの終わりを示す。常に 0 |
アドレス (サイズ) | 名称 | 内容 |
0x0000 (1) | Image Separator | このブロックがImage Blockであることを示す。0x2C 固定値 |
0x0001 (2) | Image Left Position | GIF画像全体に対するこのイメージブロックの左端相対位置 |
0x0003 (2) | Image Top Position | GIF画像全体に対するこのイメージブロックの上端さ相対位置 |
0x0005 (2) | Image Width | このイメージブロックの横幅 |
0x0007 (2) | Image Height | このイメージブロックの縦幅 |
0x0009 (1) | Packed Fields | Local Color Table Flag(1 Bit) 個別パレットの有無 Interlace Flag(1 Bit) インタレースの有無 Sort Flag(1 Bit) 個別パレットのソートの有無 Reserved(2 Bits) 予約領域 常に 0 Size of Local Color Table(3 Bits) この値(0〜7)に1を足した値をnとして、2のn乗が個別パレットの個数 |
0x000A (-) | Local Color Table | 個別パレット Local Color Table Flagが1の場合に存在する。 1つの色情報につきRGBの3バイトずつ、2の(Size of Local Color Table)乗個並ぶ。 |
0x---- (1) | LZW Minimum Code Side | LZWコードの最小ビット数 |
0x---- (1) | Block Size | Image Dataのバイト数(1〜255)を表わす値 |
0x---- (-) | Image Data | Block Size分のイメージデータ |
0x---- (1) | Block Size | Image Dataのバイト数(1〜255)を表わす値 |
0x---- (-) | Image Data | Block Size分のイメージデータ |
・ ・ ・ |
||
0x---- (1) | Block Terminator | ブロック並びの終わりを示す。常に 0 |