Salut,
Je suis en train de faire un projet de programmation où je vais avoir besoin de dessiner des ronds et des rectangles de couleur dans une fenêtre, tout ça en C, en utilisant X11 sous Linux. Pour faire un rectangle de taille 100x100 placé en (20,20), par exemple, après les déclarations habituelles, je fais :
Code :
- XSetForeground(display,main_gc,couleur);
- XFillRectangle(display,window,main_gc,20,20,100,100);
|
En ayant déclaré au préalable int couleur = (un code couleur). J'ai remarqué qu'en mettant couleur = 0, ça faisait du noir, en mettant couleur = 16^6 - 1 (donc FFFFFF en hexa), ça faisait du blanc, et je m'attendais à ce qu'en mettant couleur = 16*16 + 16 (donc 0000FF en hexa), ça me donne du bleu, et ça me donne bien du bleu, mais super sombre... par contre, 16*16 - 1 ça donne du bleu bien comme il faut...
Bref, la documentation sur ce qu'il faut mettre dans XSetForeground est pas très explicite, et je me perds dans les détails des tutos que j'ai trouvés. Pourtant, c'est pas dur : j'ai les trois coordonnées RVB d'une couleur en hexa, et je veux colorier mon rectangle de cette couleur... je dois mettre quoi dans ma variable couleur pour faire ça ?
Merci
Message édité par double clic le 15-11-2007 à 01:30:24
---------------
Tell me why all the clowns have gone.