Probleme de Conversion RGB en Color

Signaler
Messages postés
21
Date d'inscription
lundi 22 décembre 2003
Statut
Membre
Dernière intervention
5 mars 2008
-
Messages postés
16
Date d'inscription
lundi 2 juin 2003
Statut
Membre
Dernière intervention
26 juin 2006
-
Lorsque je selection une couleur de mon TColorDialog, peu importe la couleur choisi y me retournera toujours les valeurs suivante :
R = 212
G = 208
B = 200

Voici ma procedure :

procedure TForm1.PIClick(Sender: TObject);
var
RGBColor : LongInt;
begin
if Couleur.Execute then
begin
RGBColor := ColorToRgb(Color);
IR.Text := IntToStr(GetRValue(RGBColor));
TIR.Position := GetRValue(RGBColor);
IG.Text := IntToStr(GetGValue(RGBColor));
TIG.Position := GetGValue(RGBColor);
IB.Text := IntToStr(GetBValue(RGBColor));
TIB.Position := GetBValue(RGBColor);
PI.Color := Color;
end;
end;

Et le Panel(PI) n'affiche aucune couleur

5 réponses

Messages postés
221
Date d'inscription
samedi 10 mai 2003
Statut
Membre
Dernière intervention
2 juin 2005
1
Si ton panel affiche une couleur, apparamment c'est celle de ta form... et comme un panel a generalement la meme couleur de la form, donc pour toi, il se passe rien...

Il y a un truc qui me gene rien qu'a la lecture
RGBColor := ColorToRgb(Color);


la "color" c'est la color de ta form et non de TColorDialog, c'est normal que tu trouves toujours la meme couleur...

ecris plutot :
RGBColor := ColorToRgb(Couleur.Color);
Messages postés
21
Date d'inscription
lundi 22 décembre 2003
Statut
Membre
Dernière intervention
5 mars 2008

Oui j'avais trouvé la solution et c'étais effectivement :
RGBColor := ColorToRgb(Couleur.Color);

Merci :)
Messages postés
16
Date d'inscription
lundi 2 juin 2003
Statut
Membre
Dernière intervention
26 juin 2006

bonjour,



moi j'ai un probleme similaire mais je trouve tjs pas d'ou ca vient

j'utilise TColorDialog, appelle d'Execute et dans l'evenement
OnClose(...) je recupere la valeur du champ color de la boite de
dialog... et la le trou NOIR total... en effet , je recupere du noir,
du noir et encore et toujours du noir.

ma seul piste etait que je convertissai la couleur (type TColor) en
entier (Integer) et je penssai que ca vennai de la... mais non... en
fait a priori c'est ailleurs... et la je suis paumé :(



si kkun a une piste

merci




-_- VS ^_^
Messages postés
221
Date d'inscription
samedi 10 mai 2003
Statut
Membre
Dernière intervention
2 juin 2005
1
Il ne faut passer par l'événement en close de ton composant TColorDialg ! Il y a beaucoup plus simple !

  Couleur := ClWhite // Couleur par défaut au cas où tu appuies sur annuler de ton composant TColorDialog
  if ColorDialog1.Execute
    then Couleur  := ColorDialog1.Color;
Messages postés
16
Date d'inscription
lundi 2 juin 2003
Statut
Membre
Dernière intervention
26 juin 2006

RESPECT!

merci beaucoup
personnellement je penssais que l'evenement onClose renvoyai la valeur choisi et en fait non. autant pour moi

merci encore

-_- VS ^_^