1) Je veux connaître la valeur de la couleur rouge dans 24 image bitmap.couleur RVB dans l'image bitmap 24 et 16 images bitmap
pixelest représentée par 24 bits, où il y a 8 bits pour chacun des canaux rouge, vert et bleu (RVB) des valeurs
suppose que j'ouvrir l'image 24 de bitmap, et enregistrer les données dans le tableau unsigned char A .
i, e) (A [0], A [1], A [2]) est la première valeur de pixel de l'image en mode point 24.
Alors, quelle est la valeur de la couleur rouge?
Je pense que 24 ordre de couleur de l'image bitmap (?) Est 'RVB', donc A [0] est la valeur de couleur rouge. Ai-je raison?
2) Dans une image bitmap 16, le pixel est représenté par 16 bits, où il y a 5 bits pour chacune des valeurs rouge, verte et bleue (RGB).
Supposons I ouvrir l'image bitmap 16, et enregistrer les données en court non signé tableau B.
i, e) B [0] est la première valeur de pixel de l'image en mode point 16.
Dans cette situation, je veux connaître la valeur de la couleur rouge.
Je pense que le dernier bit 5, i, e) 'A [0] & 31' est la valeur de couleur bleue depuis l'ordre des couleurs (?) De 16 l'image bitmap est 'RGB'
Am I droite?
Pourquoi devine que vous et ne pas utiliser une bibliothèque? – stark
Bleu sont les bits les moins significatifs, rouges dans le plus.L'endianité de la machine joue un rôle, si l'image est générée sur une machine big-endian, de moins en moins probable, alors il est pratique de parler de BGR à la place. Donc A [0] a normalement le bleu et pour 16bpp vous devez et avec 0x1f. Notez que 565 n'est pas rare pour 16bpp. Il est sage d'ignorer tout cela et d'utiliser seulement 32bpp, le détail d'endianness disparaît en adressant les pixels avec int *. –