GNT sans publicité, site mobile, fonctionnalitées exclusives...

C++Builder6 et PhotoShop 5.5 Image de fond uni

Le
Olivier
Bonjour
J'ai des image de fond sur mon TreeView
je voudrais faire un fond uni

Dans PhototoShop ,sur une image ,j'ai un code couleur #9D4BF8

Le probleme est que dans BCB il m'affiche pas la bonne couleur

MyTv->Color=(TColor)"#9D4BF8";

ou est mon erreur ?

Il y a d'autres fonctions a utilser ?

Il y a une page dans l'aide de BCB ou il y les codes couleur en hexa
(pas les constante du style csYelllow) ?


merci de votre aide

--
Cordialement ,
Sarda Olivier

Site Web:
http://membres.lycos.fr/osarda
Lire les 5 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michel Leunen
Le #9887191
Olivier wrote:

J'ai des image de fond sur mon TreeView
je voudrais faire un fond uni

Dans PhototoShop ,sur une image ,j'ai un code couleur #9D4BF8

Le probleme est que dans BCB il m'affiche pas la bonne couleur

MyTv->Color=(TColor)"#9D4BF8";



Color est du type TColor qui est en fait un enum. Tu ne peux donc pas
lui assigner une chaîne de caractères. Tu dois donner à Color une valeur
du type 0x00BGR qui correspond au COLORREF de Windows. Parse ton string
pour en extraire les différentes composantes R, G, B, transforme-les en
un nombre entier que tu passes à ta propriété. Eventuellement, tu peux
utiliser la macro de l'API Windows RGB() pour t'aider.

Michel
--
----------------------------------------
Michel Leunen
mailto:
http://www.leunen.com/cbuilder/
----------------------------------------
Dominique Baldo
Le #9887181
Michel Leunen nous disait

> Le probleme est que dans BCB il m'affiche pas la bonne couleur
>
> MyTv->Color=(TColor)"#9D4BF8";

Color est du type TColor qui est en fait un enum. Tu ne peux donc pas
lui assigner une chaîne de caractères. Tu dois donner à Color une valeur
du type 0x00BGR qui correspond au COLORREF de Windows. Parse ton string
pour en extraire les différentes composantes R, G, B, transforme-les en
un nombre entier que tu passes à ta propriété.



... en oubliant pas d'inverser l'ordre:
#9D4BF8 => R=0x9D, G=0x4B, B=0xF8 donc la colorref est
0xF84B9D (et pas 0x9D4BF8)
Olivier
Le #9887171
Comment fait pour arriver au resultat peut m'expliquer
je suis novice au niveau de code hexa ?
comment decoupe tu la chaine "#9D4BF8" ?
quel est l'ordre de RGB ou doivent etre enoncée les couleur ?

peut tu m'expliquer ?

utilise une fonction propre a BCB ou API ?

merci je vais teste et cela marche
j'ai d'autre converion a faire

code : MyTv->Color=(TColor)0xF84B9D;
--
Cordialement ,
Sarda Olivier

Site Web:
http://membres.lycos.fr/osarda
Dominique Baldo
Michel Leunen nous disait

> > Le probleme est que dans BCB il m'affiche pas la bonne couleur
> >
> > MyTv->Color=(TColor)"#9D4BF8";
>
> Color est du type TColor qui est en fait un enum. Tu ne peux donc pas
> lui assigner une chaîne de caractères. Tu dois donner à Color une valeur
> du type 0x00BGR qui correspond au COLORREF de Windows. Parse ton string
> pour en extraire les différentes composantes R, G, B, transforme-les en
> un nombre entier que tu passes à ta propriété.

... en oubliant pas d'inverser l'ordre:
#9D4BF8 => R=0x9D, G=0x4B, B=0xF8 donc la colorref est
0xF84B9D (et pas 0x9D4BF8)


Michel Leunen
Le #9887161
Olivier wrote:
Comment fait pour arriver au resultat peut m'expliquer
je suis novice au niveau de code hexa ?
comment decoupe tu la chaine "#9D4BF8" ?



Si tu travailles avec les AnsiString, regarde du côté des méthodes Pos()
et SubStr().


code : MyTv->Color=(TColor)0xF84B9D;



Attention, tu dois donner un nombre en 32 bits: 0x00F84B9D. Les deux
premiers digits ont une signification aussi, regarde dans l'aide à
TColor, mais tu peux les mettre à 0 sans problème.

Michel
--
----------------------------------------
Michel Leunen
mailto:
http://www.leunen.com/cbuilder/
----------------------------------------
Michel Leunen
Le #9887151
Dominique Baldo wrote:

Michel Leunen nous disait
Tu dois donner à Color une valeur
du type 0x00BGR qui correspond au COLORREF de Windows.




^^^^^^^
C'est ce que je disais :-)

... en oubliant pas d'inverser l'ordre:
#9D4BF8 => R=0x9D, G=0x4B, B=0xF8 donc la colorref est
0xF84B9D (et pas 0x9D4BF8)



Michel
--
----------------------------------------
Michel Leunen
mailto:
http://www.leunen.com/cbuilder/
----------------------------------------
Publicité
Suivre les réponses
Poster une réponse
Anonyme