aujeanfr
Messages postés20Date d'inscriptionmardi 6 avril 2004StatutMembreDernière intervention28 juillet 2004
-
8 juil. 2004 à 14:36
cs_JCDjcd
Messages postés1138Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention25 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
|| ...
|| ... )
cs_JCDjcd
Messages postés1138Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention25 janvier 20094 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)