Comment lire le BMPFILEHEADER d'un BMP
mehdi
-
dido10 -
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?
Configuration: Windows XP Internet Explorer 7.0
1 réponse
-
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.-
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?
-