【发布时间】:2010-03-18 15:17:15
【问题描述】:
如果我想将颜色属性设置为非标准的东西(即不是 clBlack 或 clRed 之类的东西),我该怎么做?我可以设置十六进制颜色吗?
【问题讨论】:
如果我想将颜色属性设置为非标准的东西(即不是 clBlack 或 clRed 之类的东西),我该怎么做?我可以设置十六进制颜色吗?
【问题讨论】:
Windows.pas 中的 RGB
function RGB(r, g, b: Byte): COLORREF;
您可以将结果转换为 TColor。
例如
MyColour := TColor(RGB(Red,Green,Blue));
【讨论】:
TColor 都是 32 位整数。因此,MyColour := RGB(Red,Green,Blue); 可以正常工作。
您可以使用 $00BBGGRR
BB = 蓝色
GG = 绿色
RR = 红色
所有这些值都可以在 0 到 255 之间($00 和 $FF)
【讨论】:
我一直使用 RGB 宏:http://delphi.wikia.com/wiki/RGB
【讨论】:
您可能还想查看Colors in Delphi 帮助页面。 If 可能对从事 Web 编程的 Delphi 开发人员有用,因为 Vcl.Graphics 单元将 TColor 值定义为 clWeb____ 网络友好的常量。
许多常量已经预定义,在您使用它们之前,您可以直观地看到颜色的样子。所以没有必要做 RBG “混合”。
【讨论】: