首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

Color>>8,是什么意思?该如何解决

2012-03-27 
Color8,是什么意思?BYTE R,G,BTColor ColorclRedRBYTE(Color)GBYTE(Color8)BBYTE(Color16)

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

热点排行