Fonction couleur

lilington Messages postés 158 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 12 mars 2009 - 12 août 2004 à 19:51
moktin Messages postés 8 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 5 octobre 2004 - 13 août 2004 à 15:08
Salut je cherche une fonction qui permet d'onbtenir une velaur COLORREF depuis un index et visse versa ex:

long index;
COLORREF rvb=RGB(255,100,101);

index=RGBtoINT(rvb);
et
rvb=INTtoRGB(index);

9 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
12 août 2004 à 20:45
typedef DWORD COLORREF;
typedef DWORD *LPCOLORREF;

Rien a faire, c'est déja un entier normal
0
lilington Messages postés 158 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 12 mars 2009
13 août 2004 à 10:17
il ya un proble je ne vois pas comment convertir un index en RGB si je veux la correspondance de 212 en RGB ?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 août 2004 à 10:33
Mais un index de quoi ?
D'une table, laquelle ?
Tu es le seul a savoir de quoi tu parles, c'est le probleme.

ciao...
BruNews, Admin CS, MVP Visual C++
0
lilington Messages postés 158 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 12 mars 2009
13 août 2004 à 11:09
t'as raison je crois que je n'ai pas été assez précis :
les couleur sont présentée sous 2 forme 1- Un index de couleur 2- une combinaisons RGB
EX: 0=RGB(0,0,0) ;

(je dit bien exemple) 124=(255,0,0);
je veux utiliser la fonction pDC->setpixel(CPoint,RGB(,,);seulement voilà que j'ai des index comme mon 124 et je veux obtenir la combinaison correspondante.

j'espère avoir été assez précis Merci d'avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 août 2004 à 11:36
124=(255,0,0); NENNI, = 255.

RGB(r,g,b) code en 0x00BBGGRR

ciao...
BruNews, Admin CS, MVP Visual C++
0
moktin Messages postés 8 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 5 octobre 2004
13 août 2004 à 11:40
bah heu si j'ai compris, tu fais un truke du genre si tu as 124

124 / 65536 -> 0 est ton bleu il te reste 124
124 / 256 -> 0 est ton vert il te reste 124
124 / 1 -> 124 est ton rouge

En esperant avoir repondu a ta question bien le bonjour
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 août 2004 à 12:11
OK mais c'est pas du vb, en C on decale les bits plutot que de faire des divisions tres lentes.
R = rgb & 0xFF;
G = (rgb >> 8) & 0xFF;
B = (rgb >> 16) & 0xFF;

ciao...
BruNews, Admin CS, MVP Visual C++
0
lilington Messages postés 158 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 12 mars 2009
13 août 2004 à 12:48
Merci ça repond exactement à ma question.
0
moktin Messages postés 8 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 5 octobre 2004
13 août 2004 à 15:08
Je donnais la "méthode" apres il utilise la solution qu'il veut, c'est sur que le decalage de bit est bcp plus rapide et interressant ds ces cas la. Mais si toutes personnes ne connait pas les décalages de bits, une grde partie connait les divisions :)
0
Rejoignez-nous