内容 |
サイズ |
備考 |
GIF |
3byte |
|
GIFのバージョン |
3byte |
89aとか。 |
幅 |
2byte |
|
高さ |
2byte |
|
GlobalColorTableの有無 |
1bit |
0:無 1:有 |
色数 |
3bit |
この値+1 |
SortFlag(GlobalColorTableがSortされているか) |
1bit |
0:無 1:有 |
Global Color Tableの個数 |
3bit |
2の(この値+1)乗 |
: |
2byte |
|
GlobalColorTable |
(3*2^(Global Color Tableの個数+1))byte |
Global Color Table Flagが1の場合に存在 |
例)高さが[20,03]の順で表示された場合、値を割り出すのにバイトの順序は逆になり、
0320(16進数)→800(10進数)で
800pxとなる。
透過GIFかどうかは、ブロック「Graphic Control Extension」を調べる。
このブロックは[21,f9]で始まる。
このブロックのサイズが1byteで続き、
次の1byteの最後の1bitで透過かどうかがわかる。
1:透過有 0:透過なし
GIFアニメーションは
ヘッダー |
Application Extension([21,ff]で始まる) |
: |
Graphic Control Extension |
Image Block([2c]で始まる) |
以降、Graphic Control ExtensionとImage Blockの繰り返し |
: |
Trailer(データの終わり。[3b]1byte) |
という構造のもの。
通常は、
ヘッダー |
Graphic Control Extension |
Image Block |
Trailer |
最終更新:2007年03月09日 10:02