Inno Setup Pascal Script在Delphi中有clBtnFace
,clYellow
等颜色变量。
我想知道如何将TColor
中的任何一种转换为HTML十六进制颜色。
例如,如果我将clBtnFace
转换为HTML十六进制颜色,则结果应为#497AC2
。如果我将clYellow
转换为HTML十六进制颜色,则结果应为#FFFF00
。
我在上面找到了许多例子,但它们适用于RGB颜色。我想将TColor
转换为 HTML hex color ,以在我的Pascal脚本中的ImageMagick的命令行参数中用作十六进制颜色,如...xc:#497AC2...
。
提前致谢。
答案 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。