Color>>8,是什么意思?
BYTE R,G,B;
TColor Color=clRed;
R=BYTE(Color);
G=BYTE(Color>>8);
B=BYTE(Color>>16);
看到上面这样一段代码。我想问一下Color>>8和R=BYTE(Color)是什么语法。能否解答一下。
[解决办法]
补充一点:
颜色是由R,G,B混合而成的,
每一个色道最大值是255,
也就是2的6次方。
R可以表示 00 00 00
B也可以表示 00 00 00
G也是 00 00 00,
而整个颜色就是 R + B + G 00 00 00 00 00 00 00 00 00
就这样你右移八位和16位应该会吧
[解决办法]
Color>>8:表示将Color对应的二进制数整体向左移8位(右侧以0补足)
R=BYTE(Color):表示将变量Color做强制类型转化,转化为BYTE型(CB编译器里表示8位无符号整数,相当于unsigned char类型)
[解决办法]
位移8位。
RGB