En mode rgb, une couleur est codée sur 32 bits. 8 bits pour le rouge, 8 pour le vert, 8 pour le bleu (et 8 pour la transparence, mais on peut oublier pour le moment).
8 bits, ca fait de valeurs de 0 à 255 pour chaque composant.
Si toutes les composants sont à 0, ca fait du noir. Si toutes les composantes rouge,vert, bleu sont a 255 ca fait du blanc.
Dans un int, les bits pour le rouge sont entre le 16eme et 24eme bits, pour le vert entre le 8 et le 16eme, et entre 0 et 8 pour le bleu
Le rouge vif correspond donc à 0x00FF0000, le vert 0x0000FF00, et le bleu 0x000000FF.
Apres on peut melanger du rouge et du vert => 0x00FFFF00
Pour obtenir un gris, il suffit de mettre la meme valeur pour chaque composante.
Un gris clair (presque blanc) : Ox00F0F0F0
Un gris foncé : 0x00404040
Dans le code que j'ai fourni, mid est la valeur que je recopie pour chaque composant.
Quand j'ecris (mid<<16), je mets mid pour la composant rouge.
Ecrire ngb=mid, c'est simplement mettre mid dans la composante bleue.
Partager