もっとも扱いが簡単な24bit無圧縮ビットマップを
BMPファイル → Cの配列
BMPファイル ← Cの配列
と交互に変換できる関数をまず誰かが用意してくれたらいいとおもう。

配列は
struct PIXEL {
unsigned char r;
unsigned char g;
unsigned char b;
};

struct PIXEL a[bmp_width * bmp_height];