INFO : STRUCTURE DU FORMAT BMP

Signaler
Messages postés
54
Date d'inscription
mardi 18 septembre 2001
Statut
Membre
Dernière intervention
27 juillet 2005
-
Messages postés
2
Date d'inscription
samedi 21 février 2004
Statut
Membre
Dernière intervention
22 décembre 2009
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/18555-info-structure-du-format-bmp

Messages postés
2
Date d'inscription
samedi 21 février 2004
Statut
Membre
Dernière intervention
22 décembre 2009

j'ai trouver, merci, voila ce que j'ai changer au cas où ^^

infoHeader.biCompression = 0; //BI_RGB;
infoHeader.biXPelsPerMeter = 0;
infoHeader.biYPelsPerMeter = 0;
infoHeader.biSizeImage = 0;
infoHeader.biClrUsed = 0;
infoHeader.biClrImportant = 0;
Messages postés
2
Date d'inscription
samedi 21 février 2004
Statut
Membre
Dernière intervention
22 décembre 2009

salut VOW,
j'utilise cette structure mais j'ai un problème,
une fois mon image créer, elle à une résolution horizontale verticale étrange.
17986239ppp (variable) en horizontale et 1ppp en verticale, pour une profondeur de 24.
et des fois l'image n'est pas visible du tout, mais toujours impossible à ouvrir avec paint, fond blanc.
enfin bref j'ai récupere le code d'un collègue et ca me ferais gagner du temps si tu pouvais m'aider merci.
Ce que je voudrais ce que tu me donne un exemple avec des valeurs simple de toutes les variables. si c'est pas trop demander ^^

voici un bout du code :

// save bitmap file headers
BITMAPFILEHEADER fileHeader;
BITMAPINFOHEADER infoHeader;

ZeroMemory(&fileHeader, sizeof(BITMAPFILEHEADER));

fileHeader.bfType = 0x4d42;
fileHeader.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);

infoHeader.biSize = sizeof(infoHeader);
infoHeader.biWidth = bitmap_dx;
infoHeader.biHeight = bitmap_dy;
infoHeader.biPlanes = 1;
infoHeader.biBitCount = 24;
infoHeader.biCompression = BI_RGB;
//infoHeader.biXPelsPerMeter = 0;
//infoHeader.biYPelsPerMeter = 0;

HANDLE hLogFile = CreateFile(filename, GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, 0, NULL) ;
WriteFile(hLogFile, &fileHeader, sizeof(fileHeader) , &dwBytesWritten, NULL) ;
WriteFile(hLogFile, &infoHeader, sizeof(infoHeader) , &dwBytesWritten, NULL) ;

BITMAPINFO info;
info.bmiHeader = infoHeader;
HDC memDC = CreateCompatibleDC(winDC);
BYTE* memory = 0;
HBITMAP bitmap = CreateDIBSection(winDC, &info, DIB_RGB_COLORS, (void**)&memory, 0, 0);
SelectObject(memDC, bitmap);

BitBlt(memDC, 0, 0, bitmap_dx, bitmap_dy, winDC, 0, 0, SRCCOPY);
DeleteDC(memDC);
ReleaseDC(NULL, winDC);
Messages postés
68
Date d'inscription
dimanche 31 mars 2002
Statut
Membre
Dernière intervention
18 janvier 2010

Auteur : vow

je n'avais pas vu cette mention...

y a t il un modo dans la salle ?!
Messages postés
54
Date d'inscription
mardi 18 septembre 2001
Statut
Membre
Dernière intervention
27 juillet 2005

Pas de soucis :)
Afficher les 13 commentaires