Convertir en entier les valeur de GetPixel

Résolu
cs_Spacekiller Messages postés 11 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 23 septembre 2008 - 23 sept. 2008 à 18:05
ctx_man Messages postés 285 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 janvier 2013 - 23 sept. 2008 à 19:47
Bonjour j'ai déjà trouvé la solution ici mais je n'arrive plus à mettre la main dessus.
Comment fait-on pour convertir sous la forme par exemple : r=255, b=152, g=12 une valeur récupérer avec Getpixel()

4 réponses

cs_Spacekiller Messages postés 11 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 23 septembre 2008
23 sept. 2008 à 19:40
C'est bon j'ai trouvé sprintf le fait très bien : sprintf(nbHexa,"%06x", Color);

Je laisse la réponse au cas où quelqu'un aurait le même problème.
Toute façon je ne sais pas comment supprimer le topic
3
ctx_man Messages postés 285 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 janvier 2013 3
23 sept. 2008 à 19:47
Un COLORREF donc ...

Dans MSDN il est expliquer qu'un COLORREF c'est 0x00BBGGRR.

Donc

- int R = Color & 0x000000FF;

- int G = (Color & 0x0000FF00) >> 8;

- int B = (Color & 0x00FF0000) >> 16;


On peux aussi utiliser l'arythméeacute;tique des pointeurs :

char* c = (char*)&Color;

maintenant Rouge c[3], Vert c[2], Bleu = c[1] et éventuellement la couche alpha si elle est géré, Alpla = c[0];



Le travail c'est la santé, ne rien faire c'est la préserver !!!
3
ctx_man Messages postés 285 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 janvier 2013 3
23 sept. 2008 à 18:17
Tu aurais pas plus d'infos sur ta fonction ? Qu'est-ce qu'elle te retourne exactement ? Parce que des fonction GetPixel() il en existe une infinité avec toutes les librairies graphiques/systèmes d'exploitation/.....

Le travail c'est la santé, ne rien faire c'est la préserver !!!
0
cs_Spacekiller Messages postés 11 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 23 septembre 2008
23 sept. 2008 à 19:22
Non excuse-moi je vais faire autrement en fait.

ma fonction est la suivante :

HDC hDesk = GetDC(0);     //On récupère le handle de la fenêtre
COLORREF Color = GetPixel(hDesk, pos.x, pos.y);

Je voudrais récupérer la valeur hexadécimal de Color et la stocker dans une variable hexadécimal.

Ça paraît tout con mais je ne sais pas comment faire.
0
Rejoignez-nous