Comment lire le BMPFILEHEADER d'un BMP

mehdi -  
 dido10 -
j'ai un problème, j'ai lu le BMPFILEHEADER et le BMPINFOHEADER d'un fichier bitmap en visual C++, et quand je récupère les valeurs des champs, pour le premier champs du BMPFILEHEADER c'est bon, mais pour les autres champs et les champs du BMPINFOHEADER me donnent des valeurs erronées, par exemple pour le width et le height (largeur et hauteur de l'image en pixel) me donnent des valeurs differentes de 768 et 576 (je connais ces valeurs à l'avance), alors comment faire?
A voir également:

1 réponse

Herr Dr von Apfelstrudel Messages postés 199 Statut Membre 182
 
Salut,

tu es probablement confronté aux joies de "l'endianness". Les fichiers BMP étant petit-boutiens (little endian), essaie de lire tes données en inversant l'ordre des octets ou utilise un éditeur hexadécimal.
0
dido10
 
merci beaucoup car j'ai réussi à lire le BBMPFILEHEADER en inversant l'ordre des octets.. mais j'ai un autre problème car il y a un champs offset qui nous donne le debut de l'image.. et quand je pointe vers cet offset j'ai lu les pixels octets par octets(8 bits par pixel, noir et blanc) je trouve deux octets en plus.. et je ne sais pas quoi faire?
alors premièrement est ce que la lecture des pixels s'effectue comme j'ai fait?
et c'est quoi ces deux octets en plus?
0