Home » Tipps & Tricks » Grafik » Konvertierungen » TColor in den HTML-Farbcode umwandeln und umgekehrt

TColor in den HTML-Farbcode umwandeln und umgekehrt

Farbwerte werden in Delphi in dem Typ TColor abgelegt. Der TColor-Typ unterscheidet sich vom Aufbau her von den aus HTML bekannten Farbcodes.
Aufbau des Types TColor:

$xxBBGGRR

Ein HTML-Farbcode ist hingegen so aufgebaut:

#RRGGBB

Mithilfe folgender Funktionen lässt sich zwischen den Farbtypen umschalten:

function ColorToHtmlColor(AColor: TColor): string;
begin
  Result := IntToHex(ColorToRgb(AColor), 6);
  Result := '#' + Copy(Result, 5, 2) + Copy(Result, 3, 2) + Copy(Result, 1, 2);
end;

function HtmlColorToColor(AHtmlColor: string): TColor;
begin
  Delete(AHtmlColor, 1, 1);
  Result := StrToInt('$' + Copy(AHtmlColor, 5, 2) + Copy(AHtmlColor, 3, 2) + Copy(AHtmlColor, 1, 2));
end;

Aufgerufen werden können die Funktionen beispielsweise so:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Color := HtmlColorToColor('#FF0000');
  Caption := ColorToHtmlColor(Color);
end;

Hier wird zunächst der HTML-Code, der die Farbe Rot repräsentiert, in den Delphi TColor-Wert konvertiert und dem Formular als Hintergrundfarbe zugewiesen. Anschließend wird dieser Wert zurückgewandelt und in der Titelleiste des Formulars ausgegeben.