3
在FMX中是否存在等效函數ColorToRGB
?Firemonkey中的ColorToRGB功能等效
在FMX中是否存在等效函數ColorToRGB
?Firemonkey中的ColorToRGB功能等效
您可以使用TAlphaColorRec獲得R,G,B或Longint型值(在Delphi XE3 + FireMonkey2 - 我不知道XE2)
試試這個,添加兩個按鈕和一個TRectangle到Firemonkey形式並添加這些onClick事件:
procedure TForm1.btnBrownClick(Sender: TObject);
var
r: System.Byte;
aColor: TAlphaColor;
rgbValue: longint;
begin
aColor:= TAlphaColorRec.Brown; //$A52A2A
r:= TAlphaColorRec(aColor).R;
ShowMessage('Red component of Brown is: $'+IntToHex(r,2));
Rectangle1.Fill.Color:= aColor;
rgbValue:= TAlphaColorRec(aColor).Color;
ShowMessage('Brown is: $'+IntToHex(rgbValue,8));
end;
procedure TForm1.btnRedderClick(Sender: TObject);
var
aColor: TAlphaColor;
rgbValue: longint;
begin
aColor:= TAlphaColorRec.Brown;
TAlphaColorRec(aColor).R:= 255; //$A52A2A becomes $FF2A2A
Rectangle1.Fill.Color:= aColor;
rgbValue:= TAlphaColorRec(aColor).Color;
ShowMessage('Redder Brown is: $'+IntToHex(rgbValue,8));
end;
謝謝sergeantKK :-) – cadetill