Couleur Hexa

Signaler
Messages postés
25
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
6 mars 2005
-
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
-
Savez vous comment convertir une variable Tcolor en couleur hexa html?

Merci ;)

Lanosic

6 réponses

Messages postés
84
Date d'inscription
mercredi 25 septembre 2002
Statut
Membre
Dernière intervention
21 mai 2004

Var s: string
Begin
if TColor1.Execute then
Begin
S := Format( '#%.2x%.2x%.2x', [ GetRValue( TColor1.Color),
GetGValue( TColor1.Color), GetBValue( TColor1.Color)]);
End;
End;

RMD

www.logiciels-rmd.com
Messages postés
231
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
22 avril 2007

Voila les deux fonctions réciproques :


{ *****************************************************************************

- Méthode : TPlanning.HexToColor(s: string): TColor;

- Description : Cette méthode permet de convertir un string (Hex) en TColor.

- Entrees : s (la chaine de caractères, couleur hexadécimale).

- Sorties : TColor (le TColor Créé).

}

function TPlanning.HexToColor(s: string): TColor;

begin

if pos('#', s) <> 0 then Delete(s, pos('#', s), 1);

if pos('$', s) <> 0 then Delete(s, pos('$', s), 1);

Result := rgb(StrToInt('$' + Copy(s, 1, 2)),

StrToInt('$' + Copy(s, 3, 2)),

StrToInt('$' + Copy(s, 5, 2)));

end;



{ *****************************************************************************

- Méthode : TPlanning.ColorToHex(Color: TColor): string;

- Description : Cette méthode permet de convertir TColor en string (Hex).

- Entrees : Color (la couleur à convertir).

- Sorties : string (le résultat de la conversion).

}

function TPlanning.ColorToHex(Color: TColor): string;

begin

Result := intToHex(GetRValue(Color), 2) + intToHex(GetGValue(Color), 2) + intToHex(GetBValue(Color), 2);

end;


-----------------------------
Membre de la blindprod :
http://www.blindprod.fr.st
Messages postés
14
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
18 septembre 2009

Bonjour,

J'aurais juste une petite question à propos du topic; que faut -il faire afin de pouvoir disposer de ces fameux GetRValue GetBValue et GetRValue?
Car j'ai essayé cette méthode et hélas, mon compilateur delphi 06 ne pouvait pas les interpréter.

Merci
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
13
Bonjour
Le post dans lequel tu as posté date de 4ans, les auteurs ne sont peut etre plus ici et personne ne verra ta question.
Je te conseille de créer un nouveau post pour chaque nouvelle question !
a bientot
ps : GetRValue est dans l'API windows, unité Windows.pas
Ajoute "Windows" dans les uses et tu devrais pouvoir y acceder.
>> http://msdn.microsoft.com/en-us/library/aa923923.aspx << lien trouvé avec google en cherchant "msdn GetRValue"
a+
Messages postés
14
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
18 septembre 2009

Salut JolioDelphi,

Merci pour ta réponse.

J'ouvrirai un nouveau topic la prochaine fois.

IV (Ivy)
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
30
procedure ColorToHTML(const C: integer): string;
var
  BTC : array[$0..$F] of char = '0123456789abcdef';
begin
  result := '#000000';
  result[1] := BTC[byte(C) shr 4];
  result[2] := BTC[byte(C)        and $F]; 
  result[3] := BTC[byte(C shr 12) and $F]; 
  result[4] := BTC[byte(C shr 8)  and $F]; 
  result[5] := BTC[byte(C shr 20) and $F]; 
  result[6] := BTC[byte(C shr 16) and $F]; 
end;



pouf.