2次元画像処理 BMP 新しいページはコチラ
提供: yonewiki
(→概要) |
(→概要) |
||
5行: | 5行: | ||
とは言いつつも、それだけでは特殊な形式のBitmapファイルもありますので読み込みエラーに遭遇する可能性がありますし、書き出す時も、もう少し情報をしっかりと最初の決まり事や各バイトの決まり事に従って付与しておかないと他のアプリでも画像を開くことができないというエラーになるようなアプリになってしまう可能性もあります。 | とは言いつつも、それだけでは特殊な形式のBitmapファイルもありますので読み込みエラーに遭遇する可能性がありますし、書き出す時も、もう少し情報をしっかりと最初の決まり事や各バイトの決まり事に従って付与しておかないと他のアプリでも画像を開くことができないというエラーになるようなアプリになってしまう可能性もあります。 | ||
− | * | + | *Bitmapファイルヘッダー情報 |
:00~01 2Byte:'B','M'にあたるアスキーコード0x42→B 0x4d→M 固定です。 | :00~01 2Byte:'B','M'にあたるアスキーコード0x42→B 0x4d→M 固定です。 | ||
− | :02~05 4Byte:ファイルサイズ[Byte] | + | :02~05 4Byte:ファイルサイズ[Byte]を格納します。符号なし整数として記載。。 |
:06~07 2byte:常に0の予約領域1 | :06~07 2byte:常に0の予約領域1 | ||
:08~09 2byte:常に0の予約領域2 | :08~09 2byte:常に0の予約領域2 | ||
− | :10~13 4Byte: | + | :10~13 4Byte:ファイル先頭から画像データまでのバイト数。24bitColorRGBファイルならパレット情報を埋め込む必要もなく54ビットで事足りるヘッダになるので、0x36です。符号なし整数として記載。 |
※符号なし整数部はリトルエンディアン方式なので 10~13の情報は54ビットを表すためには0x00,0x00,0x00,0x36を逆順にならべて0x36,0x00,0x00,0x00になります。 | ※符号なし整数部はリトルエンディアン方式なので 10~13の情報は54ビットを表すためには0x00,0x00,0x00,0x36を逆順にならべて0x36,0x00,0x00,0x00になります。 | ||
+ | |||
+ | *Bitmap情報ヘッダー情報Windows系 | ||
+ | :14~17 4Byte:情報ヘッダのバイト数。24bitColorRGBファイルなら40byteなので、0x28です。0x28,0x00,0x00,0x00ですね。 | ||
+ | :18~21 4Byte:'''画像の横幅pixel''' | ||
+ | :22~25 4Byte:'''画像の高さpixel''' |