Info : structure du format bmp

Soyez le premier à donner votre avis sur cette source.

Snippet vu 11 393 fois - Téléchargée 31 fois


Contenu du snippet

Aucune description n'est fournie pour ce projet

A voir également

Ajouter un commentaire Commentaires
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 :)
Messages postés
68
Date d'inscription
dimanche 31 mars 2002
Statut
Membre
Dernière intervention
18 janvier 2010

désolé je n'avais pas l'intention d'attaquer l'auteur de ce code qui m'a été très utile, mais le(s) webmaster(s) qui a laissé un bug aussi ridicule dans son site, pour une communauté de developpers ça fait tâche. Soit dit en passant j'avais bien vu le bouton "copier coller", qui est une demi solution quand la plus part du temps on a besoin que d'une partie du code (et le copier coller est une fonction commune à toutes les application, il n'est pas naturel de l'utiliser comme fonction d'une app en particulier). cependant il est _hors de question_ que j'aille modifier les paramètres avancés de mon navigateur au risque de le dérégler pour obtenir une fonctionnalité qui devrait "aller de soi".
Afficher les 13 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.