在Delphi中,是否有一个现成的函数可以从TColor变量中提取R,G,B作为字节?
我在网上找到了下面这个,但好像很奇怪:
procedure ColorToRGB(iColor: TColor; var R, G, B: Byte);
function HexToInt(const Value: string): Integer;
begin
Result := StrToInt('$' + Value);
end;
var
s: string;
begin
s := IntToHex(iColor, 6);
R := HexToInt(AnsiRightStr(s, 2));
G := HexToInt(AnsiLeftStr(AnsiRightStr(s, 4), 2));
B := HexToInt(AnsiLeftStr(s, 2));
end;
显示的代码太过杀伤力并且效率低下。使用
ColorToRGB()
,然后将结果传递给 GetRValue()
,GetGValue(),
GetBValue()`。