如何将16进制的颜色字符串转化为TColor如'#FF9900'

解决方案 »

  1.   

    StringToColor(color) 中的Color 要是 'clRed'之类的才行,而我的是"#FF00FF" 或"FF00FF"
      

  2.   

    var Str: String;
        Color: TColor;
    begin
      Str :='FF00FF';
      Str := '$'+ Str;
      Color := StringToColor(Str);
      Label5.Color := Color;
    end;
      

  3.   

    procedure TForm1.FormCreate(Sender: TObject);
    var
      Color: TColor;
    begin 
      Color := TColor(StrToInt(StringReplace('#0000FF', '#', '$', [])));  // <1>
      Color := StringToColor('$0000FF');                                  // <2>
    end;第<1>句和第<2>句是等价的,注意StringToColor仍是要接受一个整型值字符串,用#0000FF是不行的。
      

  4.   

    Delphi中的Color其实就是一个8位有符号整型的变量而已
    var
      color :TColor;
    begin
      color := StringToColor('$00FF9900');
      {或者color := StrToInt('$00FF9900');}
    end;
    就是这样子
    至于楼主所说的,我不懂……
      

  5.   

    我已经自己解决了,HTML中是RGB ,但Delphi中是BGR
      

  6.   

    没错,次序看上去就是BGR,低位是R