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

时间:2016-08-18 03:20:23

标签: hex inno-setup pascalscript

Inno Setup Pascal Script在Delphi中有clBtnFaceclYellow等颜色变量。

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

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

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

提前致谢。

1 个答案:

答案 0 :(得分:1)

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,请参阅Converting Inno Setup WizardForm.Color to RGB