Je suis sûr que vous avez déjà vérifié http://en.wikipedia.org/wiki/BMP_file_format.
Avec cette information en main, nous pouvons écrire un BMP rapide avec:
// 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 mise en place des en-têtes est un problème nous le faire savoir.
Edit: J'ai oublié, les fichiers BMP attendent BGR au lieu de RVB, je l'ai mis à jour le code (surpris personne ne l'a attrapé).
Quel format de fichier? Quel système d'exploitation ou bibliothèques utilisez-vous? –
J'utilise Windows, simple application Visual Studio Win32. – Adam
Vous posez des questions sur un fichier GDI BITMAP ou un fichier .bmp? –