❶ WINDOWS編程中RGB宏定義里的RGB含義
因為Windows里定義R、G、B三個顏色值的范圍都是0~255,所以先用BYTE卡一下范圍(防止你輸入一個300然後出現奇怪現象)
然後看清楚運算順序
r直接轉換為BYTE
g是先轉換為BYTE,然後移動8位(目的是把位置移動到比r高的位置),然後再轉換為WORD(其實這步意義不大。當然,可以轉換為WORD是因為WORD的范圍依然在BYTE移動8位後的范圍)
b則是先轉換為BYTE,然後移動16位(移動到比g高的位置),然後轉換為DWORD(同樣,意義不是很大。不用WORD是因為BYTE移動16後范圍比WORD大了)
最後三者再合並到一起