计算一个颜色值用于高/真彩 mode(模式)
语法
用法
result = RGB(red , green , blue )
参数
red
红色分量值
green
绿色分量值
blue
蓝色分量值
返回值
组合颜色。
说明
red ,
green 和
blue 是范围为
0 -
255的组件。
RGB功能可用于计算在hi / truecolor模式下使用的有效颜色值。它返回格式为
&hAARRGGBB 的无符号整数,其中
RR ,
GG 和
BB 以十六进制格式等于传递给此函数的值。
AA 是隐式Alpha值,并自动设置为
&hFF(不透明)。
可以使用
And和
Shr的组合从颜色值中检索红,绿,蓝和半透明值。下面的第二个例子显示了如何
#define并使用宏来执行此操作。
Windows API程序员注意事项:Windows引用中名为
RGB的宏已在Windows的FB头中重新命名为
BGR,以避免冲突。
例子
另见
放(图)示例。
ScreenRes 640,480,32 '32位颜色
Line(0,0)-(319,479), RGB(255,0,0) '在窗口的左侧画一个明亮的红色框
Line(639,0)-(320,479), RGB(0,0,255) '在窗口的右侧画一个明亮的蓝色框
Sleep '退出前等待
''设置和检索红色,绿色,蓝色和Alpha值
#define RGBA_R( c ) ( CUInt( c ) Shr 16 And 255 )
#define RGBA_G( c ) ( CUInt( c ) Shr 8 And 255 )
#define RGBA_B( c ) ( CUInt( c ) And 255 )
#define RGBA_A( c ) ( CUInt( c ) Shr 24 )
Dim As UInteger r, g, b, a
Dim As UInteger col = RGB(128, 192, 64)
Print Using "颜色:_ &H \\ \\"; Hex(col, 8)
r = RGBA_R( col )
g = RGBA_G( col )
b = RGBA_B( col )
a = RGBA_A( col )
Print
Print Using "红色:_ &H \\\\ = ###"; Hex(r, 2); r
Print Using "绿色:_ &H \\\\ = ###"; Hex(g, 2); g
Print Using "蓝色:_ &H \\\\ = ###"; Hex(b, 2); b
Print Using "Alpha:_ &H \\\\ = ###"; Hex(a, 2); a
方言差异
与QB差别
参考