Bon jours tous le monde j'espère qu'il y a pas trop de monde qui est partie en vacances car j'ai une question
J'utilise " Point(x,y) " pour obtenir la valeur d'une couleur affiché a la position x,y. Le soucis c'est que la fonction Point me renvoie une valeur numérique (Exemple: 9865812) et moi je voudrait convertir cette valeur en HexadécimalBGR. Je tourne en rond et je ne voie pas très bien comment mis prendre.
Dernière modification par Neosis le mer. 23/avr./2008 17:01, modifié 1 fois.
Renvoie dans la variable 'Couleur' la couleur affichée à la position x,y de la surface de dessin en cours. La valeur retournée dans Couleur est un nombre codé sur 24 bits qui contient la combinaison des trois couleurs de base (Rouge, Vert, Bleu) codées chacune sur 8 bits (valeur 0 à 255).
La couleur peut être facilement décomposée en valeur RVB à l'aide des commandes Red(), Green() et Blue().
Suivant ce que tu as besoins, il est souvent interessant d'aprendre à travailler avec cette valeur, plutôt que les 3 composantes RGB.
Comme toi au début je travaillais avec RGB qui me parlait plus qu'un couleur 9865812, mais en pratique, une variable permet de stocker une couleur, au lieu de 3 variables.
Le psychopathe: Merci mais tu as mal compris ce n'est pas ce que je voulais^^
Chris: merci c'est ce que je voulais, en faite c'est tous bête mais j'avais pas vu qu'il y avait la fonction "Hex()" pour faire la conversion j'ai du mal regardé, il faut que je me repose moi ^^'
Stef: je me suis peut être du mal exprimé dans ma question... ce n'était pas vraiment le RGB qui m'intéressez mais "l'hexadécimal BGR"
Neosis a écrit :Bon jours tous le monde j'espère qu'il y a pas trop de monde qui est partie en vacances car j'ai une question
J'utilise " Point(x,y) " pour obtenir la valeur d'une couleur affiché a la position x,y. Le soucis c'est que la fonction Point me renvoie une valeur numérique (Exemple: 9865812) et moi je voudrait convertir cette valeur en HexadécimalBGR. Je tourne en rond et je ne voie pas très bien comment mis prendre.
a=RGB(1,2,3); en fait, toi, tu feras a = Point (x,y)
a$=Hex(65536*Blue(a)+256*Green(a)+Red(a)) ; ici, j'ai resperté ton codage
Debug a$
; resultat en Hex : 30201
; resultat en decimal : 197121
; donc NORMALEMENT : 65536*3 + 256*2 + 1
; BINGO, c'est ca