當前位置:編程學習大全網 - 網站源碼 - 我實在看不懂他的色值是怎麽表示的,是RGB(X,Y,Z)。誰能告訴我這件事?

我實在看不懂他的色值是怎麽表示的,是RGB(X,Y,Z)。誰能告訴我這件事?

RGB(X,Y,Z)只是壹個宏定義,是為了方便定義的。

RGB(r,g,b)宏獲得壹個COLORREF類型的值,它實際上是壹個DWORD。在WINDEF中有這樣壹個定義。h:

typedef DWORD COLORREF

這是WINGDI中RGB(r,g,b)宏的定義。h:

#定義RGB(r,g,b)((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))& lt;& lt8))|(((DWORD)(BYTE)(b))& lt;& lt16)))

這個宏實際上是將RGB的三個值組合成壹個值,比如RGB(64,32,128),實際上是壹個DWORD類型0x402080(十六進制表示)。因為64轉換成十六進制是0x40,32轉換成十六進制是0x20,128轉換成十六進制是0x80。所以RGB的值(64,32,128)實際上是雙字節類型的0x402080,十進制是4202624。

  • 上一篇:歌曲投票源代碼
  • 下一篇:口袋妖怪魂銀漩渦島走法
  • copyright 2024編程學習大全網