2012-11-14 25 views

回答

7

您可以使用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; 
+0

谢谢sergeantKK :-) – cadetill

相关问题