Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#27

Re: hex-codes in RGB werte und umgekehrt??

  Alt 4. Aug 2007, 18:20
Hallo,

die Farbzerlegung muss nicht zeitraubend über Funktionen erfolgen, Windows kennt einen speziellen Datentyp dafür:

Delphi-Quellcode:
var
  clr: TColor;
  pe: TPaletteEntry absolute clr; // Redefinition
begin
  clr := clRed; // interner Farbname
  clr := StringToColor('clRed'); // externer Farbname
  clr := StringToColor('$0000FF'); // alternativer Code für clRed
  with pe do
  begin
    peRed := 255; // volle Intensität bei Rot
    peGreen := StrToInt('$80'); // halbe Intensität bei Grün
  end;
  pe.peBlue := $40; // geringe Intensität bei Blau

  clr := ColorToRGB(clr); // Paletten-Flag entfernen
  ShowMessage('$' + IntToHex(clr, 6)); // Ausgabe $BBGGRR

  with TPaletteEntry(clr) do // type cast
    ShowMessage(Format('$%.2x%.2x%.2x', [peBlue, peGreen, peRed]));
end;
Freundliche Grüße
  Mit Zitat antworten Zitat