////// 128x64ドット白黒BMPヘッダ情報部の構造体定義 struct Monochrome_BmpHeader // Header Size:62Byte { /// ファイルヘッダ部:14バイト unsigned char bfType[2]; // ファイルタイプ 2バイト:"BM" unsigned int bfSize; // ファイルサイズ 4バイト:0x0000043E(1086バイト=62+1024) unsigned short bfReserved1; // 予約領域1 2バイト:0x0000 (常に固定) unsigned short bfReserved2; // 予約領域2 2バイト:0x0000 (常に固定) unsigned int bfOffsete; // ファイル先頭から画像データまでのオフセット 4バイト:0x0000003E(62バイト) /// 情報ヘッダ部:40バイト unsigned int biSize; // 情報ヘッダサイズ 4バイト:0x00000028(40バイト) unsigned int biWidth; // 画像の幅 [ピクセル] 4バイト:0x00000080(128ピクセル) unsigned int biHeight; // 画像の高さ [ピクセル] 4バイト:0x00000040(64ピクセル) unsigned short biPlanes; // プレーン数 2バイト:0x0001 (常に固定) unsigned short biBitCount; // 色ビット数 [bit]:1画素当たりのデータサイズ 2バイト:0x0001(白黒は、"1":2色ビットマップ) unsigned short biSizePixel; // 1画素当りのデータサイズ 2バイト:0x0001 unsigned int biCompression; // 圧縮形式 4バイト:0x00000000(白黒は無圧縮なので、"0") unsigned int biSizeImage; // 画像データサイズ 4バイト:0x00000400(1024バイト) unsigned int biXPixPerMeter; // 水平解像度 [dot/m] 4バイト:0x00000EC4(3480) unsigned int biYPixPerMeter; // 垂直解像度 [dot/m] 4バイト:0x00000EC4(3480) unsigned int biClrUsed; // 格納パレット数[使用色数] 4バイト:0x00000000('0'の場合もある→確認済) unsigned int biCirImportant; // 重要色数 4バイト:0x00000000('0'の場合もある→確認済) /// バレットデータ部:8バイト(※ 白黒の場合、パレットデータ:4バイトブロックが、2個存在する) unsigned char rgbBlue_1; // 青 1バイト:0x00(白黒の場合は、0x00か、0xFFのいずれかの値が入るようである) unsigned char rgbGreen_1; // 緑 1バイト:0x00(白黒の場合は、0x00か、0xFFのいずれかの値が入るようである) unsigned char rgbRed_1; // 赤 1バイト:0x00(白黒の場合は、0x00か、0xFFのいずれかの値が入るようである) unsigned char rgbReserved_1; // 予約領域 1バイト:0x00(常に、0x00) unsigned char rgbBlue_2; // 青 1バイト:0xFF(白黒の場合は、0x00か、0xFFのいずれかの値が入るようである) unsigned char rgbGreen_2; // 緑 1バイト:0xFF(白黒の場合は、0x00か、0xFFのいずれかの値が入るようである) unsigned char rgbRed_2; // 赤 1バイト:0xFF(白黒の場合は、0x00か、0xFFのいずれかの値が入るようである) unsigned char rgbReserved_2; // 予約領域 1バイト:0x00(常に、0x00) }; ////// Initialize BMP Header Structer: 62Byte struct Monochrome_BmpHeader monochroBmpHeader = { "BM", // ファイルタイプ 0x0000043E, // ファイルサイズ 0x0000, // 予約領域1 0x0000, // 予約領域2 0x0000003E, // ファイル先頭から画像データまでのオフセット 0x00000028, // 情報ヘッダサイズ 0x00000080, // 画像の幅 [ピクセル] 0x00000040, // 画像の高さ [ピクセル] 0x0001, // 色ビット数 [bit] 0x0001, // 1画素当りのデータサイズ 0x00000000, // 圧縮形式 0x00000400, // 画像データサイズ 0x00000EC4, // 水平解像度 0x00000EC4, // 垂直解像度 0x00000000, // 格納パレット数[使用色数] 0x00000000, // 重要色数 0x00, // 青 0x00, // 緑 0x00, // 赤 0x00, // 予約領域 0xFF, // 青 0xFF, // 緑 0xFF, // 赤 0x00 // 予約領域 }; struct Monochrome_BmpHeader *ptrBH; // Pointer of Structure