【问题标题】:ColorToRGB function equivalent in FiremonkeyFiremonkey 中等效的 ColorToRGB 函数
【发布时间】:2012-11-14 11:33:25
【问题描述】:

在 FMX 中是否存在 ColorToRGB 的等效函数?

【问题讨论】:

    标签: delphi firemonkey


    【解决方案1】:

    您可以使用 TAlphaColorRec 获取 R、G、B 或 longint 值(在 Delphi XE3+FireMonkey2 中 - 我不确定 XE2)

    试试这个,在 Firemonkey 表单中添加两个按钮和一个 TRectangle 并为 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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-06
      • 2016-01-23
      • 1970-01-01
      • 2020-05-09
      • 2021-09-15
      相关资源
      最近更新 更多