Convert TColor to html-color

Posted in Mathematics

The main idea is so: If HTML-color is #ABCDEF, then representation of TColor will be $EFCDAB. So, we need to swap some parts of representations of these colors.

// HTML-color -> TColor
procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit2.Text:='$'+Copy(Edit1.Text,6,2)+
    Copy(Edit1.Text,4,2)+Copy(Edit1.Text,2,2);
  Panel1.Color:=StringToColor(Edit2.Text);
end;

// TColor -> HTML-color
procedure TForm1.Button2Click(Sender: TObject);
var
  MyColor: TColor;
  Res: string;
begin
  MyColor:=StringToColor(Edit2.Text);
  Panel1.Color:=MyColor;
  Res:=IntToHex(MyColor, 6);
  Edit1.Text:='#'+IntToHex(GetRValue(MyColor),2)+
    IntToHex(GetGValue(MyColor),2)+
    IntToHex(GetBValue(MyColor),2);
end;