#include <stdio.h>
#define PIXEL 32      /*  横縦の pixel 数. 4 の倍数にする　*/
#define N  (PIXEL*PIXEL*3)
main() {
  FILE *fp2;
  int i;
  int size;
  unsigned char h[54+N]=
 {0x42,0x4d,
  0x0,0x0,0x0,0x0, /* ファイルの大きさ */
  0x0,0x0,0x0,0x0,
  0x36,0x0,0x0,0x0,
  0x28,0x0,0x0,0x0,
  0x0,0x0,0x0,0x0,  /*  横のピクセル数, 横何ドットか? h[18], ... */
  0x0,0x0,0x0,0x0,  /* 縦のピクセル数, 縦何ドットか? */
  0x1,0x0,
  0x18,0x0,
  0x0,0x0,0x0,0x0,
  0x0,0x0,0x0,0x0,  /* 画像部分のデータサイズ. h[34], ...  */
  0x13,0xb,0x0,0x0,
  0x13,0xb,0x0,0x0,
  0x0,0x0,0x0,0x0,
  0x0,0x0,0x0,0x0};
  fp2 = fopen("mypic.bmp","w");
  size = 54+N;
  h[2] = size % 0x100;
  h[3] = (size/0x100)%0x100;
  h[4] = ((size/0x100)/0x100)%0x100;
  h[5] = (((size/0x100)/0x100)/0x100)%0x100;
  h[18] = PIXEL % 0x100;
  h[19] = ((PIXEL)/0x100) % 0x100;
  h[20] = ((PIXEL/0x100)/0x100)%0x100;
  h[21] = (((PIXEL/0x100)/0x100)/0x100)%0x100;
  h[22] = PIXEL % 0x100;
  h[23] = ((PIXEL)/0x100) % 0x100;
  h[24] = ((PIXEL/0x100)/0x100)%0x100;
  h[25] = (((PIXEL/0x100)/0x100)/0x100)%0x100;
  h[34] = N % 0x100;
  h[35] = (N/0x100)%0x100;
  h[36] = ((N/0x100)/0x100)%0x100;
  h[37] = (((N/0x100)/0x100)/0x100)%0x100;
  for (i=54; i<54+N; i++) h[i] = 0;

  /* ここで点を描く */
  h[54] = 0xff; h[55] = 0xff; h[56] = 0xff;

  /* ファイルに書き出す */
  for (i=0; i<54+N; i++) fputc(h[i],fp2);
  fclose(fp2);
}

/*
BMP format     :   http://ja.wikipedia.org/wiki/Windows_bitmap
*/

