如何求一个颜色的视觉反色? 如  黑色 对应 白色我有很多颜色的方格工显示,我想在每个方格中显示一个编号。
我希望方格的颜色与字体的颜色有比较大的视觉差别,(看起来方便一点)如何求一个颜色的视觉反色?

解决方案 »

  1.   

    not ColorToRGB(AColor) and $FFFFFF
      

  2.   

    楼上的方法不行。
    比如 红色应该对应蓝色才对。
    $0000ff -> $ff0000
      

  3.   

    function ReverseColor(AColor: TColor): TColor;
    var
      iR0, iR1, iG0, iG1, iB0, iB1: integer;
    begin
      iR0 := GetRValue(AColor);
      iR1 := 255 - iR0;
      iG0 := GetGValue(AColor);
      iG1 := 255 - iG0;
      iB0 := GetBValue(AColor);
      iB1 := 255 - iB0;  Result := RGB(iR1, iG1, iB1);
    end;其实就是将一个颜色的R、G、B值用255减一下就OK了!
      

  4.   

    其实就是将一个颜色的R、G、B值用255减一下就OK了!