现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

RGB与十六进制的相互转换

2014-11-02 22:18 工业·编程 ⁄ 共 286字 ⁄ 字号 暂无评论

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;

}

给我留言

留言无头像?