MSDN中对RGB结构体的定义如下:
#define RGB(r, g ,b) ((DWORD) (((BYTE) (r) | ((WORD) (g) << 8)) | (((DWORD) (BYTE) (b)) << 16)))
由此可见,一个DWORD体中的后三个字节分别是B,G,R;最前一个字节为零。
fun(BYTE R,BYTE G,BYTE B)
{
DWORD wValue;
wValue = RGB(R,G,B);
printf("0x%x", wValue);
:
//以下将DWORD转化为R,G,B
R = wValue & 0xff;
G = (wValue>>8)&0xff;
B = (wValue >>16) & 0xff;
}