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.
Les couleurs...[RESOLUE]
Les couleurs...[RESOLUE]
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.
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.
- Le psychopathe
- Messages : 764
- Inscription : jeu. 03/mars/2005 19:23
Suffit de lire l'aide.
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().
Code : Tout sélectionner
Couleur = 9865812
Rouge$ = Hex(Red(Couleur)) : Vert$ = Hex(Green(Couleur)) : Bleu$ = Hex(Blue(Couleur))
CouleurBGR$ = "#"+RSet(Bleu$, 2, "0")+ RSet(Vert$, 2, "0") + RSet(Rouge$, 2, "0") : Debug CouleurBGR$Salut Neosis
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.
a+
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.
a+
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"
merci pour vos réponses rapides
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"
merci pour vos réponses rapides
Re: Les couleurs...
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.![]()
Code : Tout sélectionner
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