Selection de couleurs (manipulation d'hexa)

aujeanfr Messages postés 20 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 28 juillet 2004 - 8 juil. 2004 à 14:36
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 - 8 juil. 2004 à 18:45
Bonjour,

Je souhaite supprimer des couleurs sur des images avant de les afficher.
Les valeurs en hexa de ces couleurs sont :
0xF_F_F_
0xE_E_E_
0xD_D_D_
...
...
0x9_9_9_

( "_" étant n'importe quelle valeur de 0 à F)

Je ne vois pas comment écrire ce code au plus simple

Voici où je dois inclure ce code :

for(i=0;i<largeur;i++)
{
for(j=0;j<hauteur;j++)
{
color = GetPixel(hdc_access_modif,i,j);

if(color != ??? toutes les couleurs citées ???)
SetPixel(hdc_photo,i+horiz,j+vertical,color)

}
}

Plan A : Est-il possible de comparer "color" à toutes les couleurs choisies placées dans un tableau ?

Plan B : J'essaie aussi avec des comparaisons du genre :
if( (color & 0x009F9F9F) != color
|| (color & 0x00AFAFAF) != color
|| ...
|| ... )

mais là je ne m'en sors pas.

Si vous avez un Plan C il est le bienvenu.

1 réponse

cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
8 juil. 2004 à 18:45
Plan JCD :
1) tu masques les bits '_' :
color = GetPixel(...) & 0xF0F0F0;
2) tu recupere les trois valeurs
int a = GetRValue(color);
int b = GetGValue(color);
int c = GetBValue(color);
3) tu compares les valeurs:
if(a==b && a==b)
0
Rejoignez-nous