COLORREF類型用來描繪一個RGB顏色。其定義如下:
typedef DWORD COLORREF;
typedef DWORD *LPCOLORREF;
COLORREF類型變數值描繪一個顏色時對應於下面16進制的格式:
0x00bbggrr
可以用這樣一個結構體來描述。
RGB_value struct
{
byte unused ;
byte blue ;
byte green ;
byte red;
};
其中第一位元組為 0 而且始終為 0,其它三個位元組分別表示藍色、綠色和紅色,剛好和 RGB 的次序相反。這個結構體用起來挺彆扭。對於COLORREF,我們通常使用宏RGB對其進行賦值。
宏的定義如下:
COLORREF RGB
(
BYTEbyRed, // red component of color
BYTEbyGreen, // green component of color
BYTEbyBlue // blue component of color
);
COLORREF 是一個 32-bit 整型數值,它代表了一種顏色。你可以使用 RGB 函式來
初始化 COLORREF。例如:
COLORREF color=RGB(0,255,0);
RGB函式接收三個 0-255 數值,一個代表紅色,一個代表綠色,一個代表藍色。在
上面的例子中,紅色和藍色值都為 0,所以在該顏色中沒有紅色和藍色。綠色為最大值
255。所以該顏色為綠色。0,0,0 為黑色,255,255,255 為白色。
另一種初始化 COLORREF 的方法如下所示:
CColorDialog colorDialog;
COLORREF color;
if( colorDialog.DoModal() == IDOK )
{
color = colorDialog.GetColor();
}
這段代碼使用了 MFC 中的顏色對話框,它需要檔案。
如何從COLORREF中獲取RGB分量值:
COLORREF colorrrefRGB =RGB(120,250,110);
BYTE r = GetRValue(colorrrefRGB);
BYTE g = GetGValue(colorrrefRGB);
BYTE b = GetBValue(colorrrefRGB);
相關詞條
-
OLLYDBG
界面構成OllyDbg發行版是一個ZIP壓縮檔,只要解壓運行 OllyDbg.exe即可。運行 OllyDbg打開進程,主視窗顯...
界面構成 詳細介紹 常見問題 -
CBrush
( );CBrush( COLORREF crColor );throw... nIndex, COLORREF crColor );throw...,而不帶參數的構造函式總是成功返回。只帶有一個參數COLORREF的構造函式用...
成員函式 函式詳解 -
RGB
基本介紹概述RGB色彩模式(也翻譯為“紅綠藍”,比較少用)是工業界的一種顏色標準,是通過對紅(R)、綠(G)、藍(B)三個顏色通...
基本介紹 RGB格式 信號獲取 色彩空間 RGB宏 -
CPen
,int width ,COLORREF color); style:畫筆..., int nWidth, COLORREF crColor...; COLORREF lbColor; LONG lbHatch...
-
UpdateLayeredWindow
, POINT *pptSrc, COLORREF crKey...應該是NULL; crKey 指向一個COLORREF值(當合成分層視窗時使用指定顏色鍵值)。要生成COLORREF,使用RGB宏...
UpdateLayeredWindow -
SetDCBrushColor
顏色。 函式原型:COLORREF SetDCBrushColor(HDC hdc, COLORREF crColor); 參數...為COLORREF值;如果失敗,返回CLR_INVALID。 注釋...
函式功能 參數 -
GetTextColor
函式功能 函式功能:該函式取得指定設備環境的當前正文顏色。 函式原型:COLORREF GetTextColor(HDC hdc...:如果函式調用成功,返回值是作為一個COLORREF的當前正文顏色;如果函式...
函式功能 返回值 -
SetDCPenColor
。 函式原型:COLORREF SetDCPenColor(HDC hdc, COLORREF crColor); 參數參數...。 返回值:如果成功,則返回值指定先前DC筆顏色為某個COLORREF...
函式功能 參數 -
SetPixeIV
Y, COLORREF crColor); 參數 參數...
函式功能 參數