ブロック | 補足 |
Header | ファイル開始 |
Image Data | 画像データ |
Trailer | ファイル終了 |
ブロック | 補足 |
Header | ファイル開始 |
画像ブロック or 拡張ブロック | |
(必要なだけ連結する) | |
Trailer | ファイル終了 |
ブロック | 補足 |
Header | GIF89a であること |
Graphic Control Extension | 透過情報 |
Image Data | 画像データ |
Trailer |
ブロック | 補足 |
Header | GIF89a であること |
Application Extension | アニメGIFであることを宣言、繰り返す回数 |
Graphic Control Extension | 1コマ目の遅延時間、透過処理、重ね方 |
Image Data | 1コマ目の画像データ |
Graphic Control Extension | 2コマ目の遅延時間、透過処理、重ね方 |
Image Data | 2コマ目の画像データ |
(コマの数だけ繰り返す) | |
Trailer |
size | 定義 | 値 |
3 | Signature GIFフォーマットであることを示す識別子 |
"GIF" = $47, $49, $46 |
3 | Version GIFのバージョンを示す識別子 |
"87a" = $38, $37, $61 (GIF87a)
"89a" = $38, $39, $61 (GIF89a)
|
2 |
Logical Screen Width
Logical Screen Height
画像全体の大きさ
|
n [pixel] (画像の横幅) |
2 | n [pixel] (画像の縦幅) | |
1 |
|
|
1 | Background Color Index 背景色とする色の指定 |
n (パレットのインデックス) |
1 | Pixel Aspect Ratio ピクセルの縦横長さの比率 |
0 (比率情報なし)
n = 1〜255 (比率情報あり) ⇒比率は (n+15)/64
|
s | Global Color Table 共通パレットデータ |
(一色3バイトのデータが色数だけ並ぶ)
Global Color Table Flag が 0 の場合、s = 0
Global Color Table Flag が 1 の場合、s = 色数×3
|
size | 定義 | 値 | |
始端など | 1 | Image Separator ブロックの識別子 |
$2C (Image Dataブロック) |
2 |
Image Left Position
Image Top Position
このイメージの描画開始位置
|
n [pixel] (左端からのずれ量) |
|
2 | n [pixel] (上端からのずれ量) | ||
2 |
Image Width
Image Height
このイメージの大きさ
|
n [pixel] (このイメージの横幅) |
|
2 | n [pixel] (このイメージの縦幅) | ||
1 |
|
|
|
s | Local Color Table 固有パレットデータ |
(一色3バイトのデータが色数だけ並ぶ)
Local Color Table Flag が 0 の場合、s = 0
Local Color Table Flag が 1 の場合、s = 色の数×3
|
|
1 | LZW Minimum Code Size 圧縮データに関する情報 |
n (LZW圧縮の最小コードのビット数) |
|
データ1 | 1 | Block Size Image Data の大きさ |
0 (Block Terminator のこと) 1〜255 [byte] |
上記 | Image Data 画像データ |
(LZWで圧縮した画像のデータ) |
|
データ2〜 | (全部格納するまで繰り返す) | ||
終端 | 1 | Block Terminator ブロックの終了を示す識別子 |
0 |
size | 定義 | 値 | |
始端 | 1 | Extension Introducer ブロックの識別子 |
$21 (拡張ブロック) |
1 | Graphic Control Label 拡張ブロックの識別子 |
$F9 (Graphic Control Extensionブロック) |
|
データ | 1 | Block Size データの大きさ |
4 [byte] |
1 |
|
|
|
2 | Delay Time イメージ描画までの待ち時間 |
n [10ミリ秒] ⇒100で1秒、wait命令と一緒 |
|
1 | Transparent Color Index 透過色とする色の指定 |
n (パレットのインデックス) |
|
終端 | 1 | Block Terminator ブロックの終了を示す識別子 |
0 |
size | 定義 | 値 | |
始端 | 1 | Extension Introducer ブロックの識別子 |
$21 (拡張ブロック) |
1 | Comment Label 拡張ブロックの識別子 |
$FE (Comment Extensionブロック) |
|
データ1 | 1 | Block Size Comment Data の大きさ |
0 (Block Terminator のこと) 1〜255 [byte] |
上記 | Comment Data コメントデータ |
(コメント文字列) |
|
データ2〜 | (全部格納するまで繰り返す) | ||
終端 | 1 | Block Terminator ブロックの終了を示す識別子 |
0 |
size | 定義 | 値 | |
始端 | 1 | Extension Introducer ブロックの識別子 |
$21 (拡張ブロック) |
1 | Plain Text Label 拡張ブロックの識別子 |
$01 (Plain Text Extensionブロック) |
|
設定 (データ0) |
1 | Block Size データの大きさ |
12 [byte] |
2 |
Text Grid Left Position
Text Grid Top Position
このテキストの描画開始位置
|
n [pixel] (左端からのずれ量) |
|
2 | n [pixel] (上端からのずれ量) | ||
2 |
Text Grid Width
Text Grid Height
このテキストを描画する領域の大きさ
|
n [pixel] (横幅) |
|
2 | n [pixel] (縦幅) | ||
1 |
Character Cell Width
Character Cell Height
一文字(1byte?)分の大きさ
|
n [pixel] (横幅) |
|
1 | n [pixel] (縦幅) | ||
1 | Text Foreground Color Index 描画色の指定 |
n (共通パレットのインデックス) |
|
1 | Text Background Color Index 背景色の指定 |
n (共通パレットのインデックス) |
|
データ1 | 1 | Block Size Plain Text Data の大きさ |
0 (Block Terminator のこと) 1〜255 [byte] |
上記 | Plain Text Data テキストデータ |
(テキスト文字列) |
|
データ2〜 | (全部格納するまで繰り返す) | ||
終端 | 1 |
Block Terminator
ブロックの終了を示す識別子
|
0 |
size | 定義 | 値 | 値 (アニメGIFの場合) | |||
始端 | 1 |
Extension Introducer
ブロックの識別子
|
$21 (拡張ブロック) |
$21 |
||
1 |
Extension Label
拡張ブロックの識別子
|
$FF (Application Extensionブロック) |
$FF |
|||
設定 (データ0) |
1 |
Block Size
データの大きさ
|
11 [byte] |
11 [byte] |
||
8 |
Application Identifier
アプリケーションの識別名
|
(アプリケーションを示す文字列) |
"NETSCAPE" (もとはネスケの拡張だった) |
|||
3 |
Application Authentication Code
アプリケーションの識別コード
|
(任意) |
"2.0" |
|||
データ1 | 1 |
Block Size
Application Data の大きさ
|
0 (Block Terminator のこと)
1〜255 [byte]
|
3 [byte] |
||
上記 |
Application Data
アプリケーションデータ
|
(アプリケーションデータ) |
size | 定義 | 値 | |
1 | 何か。 |
1 (固定?) |
||||
2 | 繰り返し回数 |
0 (無限ループ)
1〜 [回]
|
||||
データ2〜 | (必要なだけ繰り返す) | (なし) | ||||
終端 | 1 |
Block Terminator
ブロックの終了を示す識別子
|
0 |
0 |
size | 定義 | 値 |
1 |
Trailer
GIFファイルの終端を示す識別子
|
$3B |