Estoy seguro de que ya ha comprobado http://en.wikipedia.org/wiki/BMP_file_format.
Con esa información en la mano podemos escribir una rápida BMP con:
// setup header structs bmpfile_header and bmp_dib_v3_header before this (see wiki)
// * note for a windows bitmap you want a negative height if you're starting from the top *
// * otherwise the image data is expected to go from bottom to top *
FILE * fp = fopen ("file.bmp", "wb");
fwrite(bmpfile_header, sizeof(bmpfile_header), 1, fp);
fwrite(bmp_dib_v3_header, sizeof(bmp_dib_v3_header_t), 1, fp);
for (int i = 0; i < 200; i++) {
for (int j = 0; j < 200; j++) {
fwrite(&image[j][i][2], 1, 1, fp);
fwrite(&image[j][i][1], 1, 1, fp);
fwrite(&image[j][i][0], 1, 1, fp);
}
}
fclose(fp);
Si la configuración de las cabeceras es un problema, háganoslo saber.
Editar: Lo olvidé, los archivos BMP esperan BGR en lugar de RGB, he actualizado el código (sorprendió que nadie lo atrapó).
¿Qué formato de archivo? ¿Qué sistema operativo o bibliotecas estás usando? –
Estoy usando Windows, aplicación simple de Visual Studio Win32. – Adam
¿Está preguntando sobre un BITMAP de Windows GDI o un archivo .bmp? –