-
bitmap vers byte* []
Je tenais à amener un éclaircissement supplémentaire sur la fonction
GetBitMapBits( DWORD n, LPVOID b ).
En effet mon problème c'est de récupéré un fichier bitmap et de le transferé
vers un ecran de télé par USB.
1) pas de pb pour récupérer
on utilise la fonction GetBitmapBits.
On stocke dans une table de bytes
tjrs pas de pb
2) on transfert via l'usb
pas de pb
3) La je recupère les bytes dans un tableau de byte intégré dans un programme en C ( et non en C++)
Je dois l'envoyer vers un composant éléctronique qui doit recevoir le
bitmap pixel par pixel
Or je ne sais pas à quoi correspond tous ces bytes récupérer par GetBitmapbits ().
Est -ce que 1 byte correspond à 1 pixel ?
Si non à quoi ça correspond ?
Si oui comment c'est codé ( coordonnée x, y , couleur, ... ) ?
Et dans quel ordre ? ( balayage horizontale, ou balayage verticale .. )
Bref dans la MSDN c'est pas marqué ou très mal expliquée.
Si t'avais des sites qui parle de ça se serait le top.
Si t'avais des exemple se serait le nec plus ultra.
-
Le codage des bitmaps est très bien expliqué dans la MSDN. Il faut surtout regarder ça dans le SDK voir
http://msdn2.microsoft.com/en-us/library/aa452880.aspx.
En gros une bitmap est composé d'un entête qui décrit son contenu et son format.
Par exemple un bitmap peut être du type 256 couleurs auquel cas chaque octet de donnée est une référnce (0..255) à une couleur dans une palette qui est définie dans l'entête du bitmap.
Autre exemple lle bitmap est du type vraie couleurs (24 bits) et dans ce cas un pixel est représenté par un triplet d'octes codant les trois couleurs Rouge vert bleu sur un octet
Pour ce qui est de l'orientation de l'image, les lignes sont stockées les une à la suite des autres du bas vers le haut.
Je serais tenté de dire que c'est plus vers ce format que tu dois te pencher. Mais c'est fonction de ce dont a besoin ton composant.
Je te suggère avant de te casser la tête avec un bitmap d'envoyer déjà à ton composant un tableau que tu auras défini et remplis de manière a avoir une image. par exemple 3 bandes rouge vert et bleu
-
Merci pour ton explication Gouyon