观察以下代码:
COLORREF rgb = pDC->GetBkColor();
BYTE r,g,b;r = GetRValue(rgb);
g = GetGValue(rgb);
b = GetBValue(rgb);
COLORREF的存储为 0x00BBGGRR,即R在低位。
在小端存储模式中,低地址存放低位数据,高地址存放高位数据,windows使用小端存储。
十六位数字0x11223344在小段模式存储为 "低地址..44 33 22 11..高地址"
我们称读作:0x11223344,存作:44332211,(注意是十六进制数据)
假设一个颜色值 RR GG BB,使用COLORREF表示,则读作:0x00BBGGRR,存作:RRGGBB00
而RGBQUAD是一个结构体,定义如下:
typedef struct tagRGBQUAD {
BYTE rgbBlue;
BYTE rgbGreen;
BYTE rgbRed;
BYTE rgbReserved;
} RGBQUAD;
结构体变量存储的时候,跟字符串