将 Inno Setup Pascal Script TColor 转换为 HTML 十六进制颜色

Convert Inno Setup Pascal Script TColor to HTML hex colour

Inno Setup Pascal Script 在 Delphi.

中具有 clBtnFaceclYellow 等颜色变量

我想知道如何将这些 TColor 中的任何一种转换为 HTML 十六进制颜色。

例如,如果我将 clBtnFace 转换为 HTML 十六进制颜色,结果应该是 #497AC2。如果我将 clYellow 转换为 HTML 十六进制颜色,结果应该是 #FFFF00.

我在上面找到了很多例子,但它们是针对 RGB 颜色的。我想将 TColor 转换为 HTML 十六进制颜色 以在我的 Pascal 脚本中用作 ImageMagick 的命令行参数中的十六进制颜色,例如 ...xc:#497AC2...

提前致谢。

function ColorToWebColorStr(Color: TColor): string;
var
  RGB: Integer;
begin
  RGB := ColorToRGB(Color);
  Result :=
    UpperCase(Format('#%.2x%.2x%.2x', [Byte(RGB), Byte(RGB shr 8), Byte(RGB shr 16)]));
end;

对于 ColorToRGB,参见