bonjour
je recupère la valeur du pixel d'une image dans un entier. Le pixel est codé en RGB. Cela signifie que mon entier contient 4 informations stockées chacune sur un octet : la valeur pour le rouge, pour le vert, pour le bleu et pour l'alpha.
je souhaite récupérer chacune de ces informations séparément dans un entier.
Pour celà j'ai écrit 3 fonctions opérant chacune un décalage et appliquant un masque pour obtenir les valeurs pour les composantes red, green et blue.
Problème : je récupère toujours 0 pour les composants red et green.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 int redFromRGB(int *rgb){ return ((*rgb >> 16) & 0xff); } int greenFromRGB(int *rgb){ return ((*rgb >> 8) & 0xff); } int blueFromRGB(int *rgb){ return((*rgb) & 0xff); }
Où est mon erreur ?
merci pour votre aide
Partager