Bonjour, j'ai déjà fais quelques recherches et je crée un programme en C pour créer des Bitmaps.
Je commence par faire un test très simple : créer une petite image et la mettre dans un fichier, mais rien que ça, ça ne fonctionne pas !
J'imagine que mon erreur est toute bête, mais je n'ai jamais fais de C, plutôt du C++ et j'ai du mal dès que ça touche trop à la mémoire... (buffer, unsigned char et companie)
Voilà mon code :
J'ai bien un fichier lol.bmp qui est créé, mais sa taille est de 0 octets.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 int main(int argc, char **argv) { HBITMAP hb; const int LARGEUR = 4; char bufferImage[LARGEUR*LARGEUR*3]; for(int i = 0 ; i < LARGEUR * LARGEUR * 3 ; i++) { bufferImage[i] = 'a'; } // Création du bitmap hb = CreateBitmap(LARGEUR, LARGEUR, 1, 24, bufferImage); // Enregistrement dans un fichier FILE *fichier; if(fopen_s(&fichier, "lol.bmp", "w") == 0 ){ fwrite(&hb, sizeof(hb), 1, fichier); } return 0;
Si par contre je faisj'ai une erreur mémoire...
Code : Sélectionner tout - Visualiser dans une fenêtre à part fwrite(hb, sizeof(hb), 1, fichier);
Par ailleurs, est-ce que quelqu'un pourrait m'expliquer rapidement ce qu'est HBITMAP, j'ai lu que c'était un "Handler", j'ai compris que c'était un struct, mais ce n'est toujours pas clair dans mon esprit... Apparement, dans les diverses FAQ que j'ai trouvées, tout ceci est évident pour tout le monde.
Partager