昨日に続いて、今度は画像ファイル(*.GBP)です。
この画像ファイルのフォーマットはジャケット画像の他に
ユーザが登録できる背景画像でも使用されています。
(デフォルトの背景画像は別フォーマットみたいです)
まずはファイルの内容について。
※画像データについて
画像の左上から右方向、下方向にピクセル情報が格納され、
2byte で 1pixel を表す。(RGB555、RGB各5bit)
2byte の各 bit と RGB との関係は、2byte を下のような bit で表現した場合
「fedc ba98 7654 3210」
R(赤) = 76543
G(緑) = 210fe
B(青) = dcba9
となり、また '8' は常に 0 となる。
つまり白色のピクセルは「FE FF」となり、
黒色のピクセルは「00 00」になる。
この画像ファイルのフォーマットはジャケット画像の他に
ユーザが登録できる背景画像でも使用されています。
(デフォルトの背景画像は別フォーマットみたいです)
まずはファイルの内容について。
0x0000~0x0003 | 4 | 横方向のサイズ。 「F0 00 00 00」= 240pixel |
0x0004~0x0007 | 4 | 縦方向のサイズ。 「40 01 00 00」= 320pixel |
0x0008~ | -- | 画像データ。 サイズは「横方向のサイズ」×「縦方向のサイズ」×2byte。 詳細は下部参照。 |
0x08BFA~0x2C01 | 8 | (ジャケット画像のみ)フッタ? 常に 0x00。 ただし、背景画像には存在しないし、 この 8byte がなくても gigabeat 上で正しく表示される。 ……なんのためにあるのでしょう? |
※画像データについて
画像の左上から右方向、下方向にピクセル情報が格納され、
2byte で 1pixel を表す。(RGB555、RGB各5bit)
2byte の各 bit と RGB との関係は、2byte を下のような bit で表現した場合
「fedc ba98 7654 3210」
R(赤) = 76543
G(緑) = 210fe
B(青) = dcba9
となり、また '8' は常に 0 となる。
つまり白色のピクセルは「FE FF」となり、
黒色のピクセルは「00 00」になる。