日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

关于COLORREF的定义及用法

發(fā)布時(shí)間:2024/6/21 综合教程 39 生活家
生活随笔 收集整理的這篇文章主要介紹了 关于COLORREF的定义及用法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)載自http://blog.sina.com.cn/s/blog_65cab32d010136cl.html

一、什么是COLORREF?

  COLORREF類型用來描繪一個RGB顏色。其定義如下:

  

typedef DWORD COLORREF;
typedef DWORD *LPCOLORREF;

  COLORREF類型變量值描繪一個顏色時(shí)對應(yīng)于下面16進(jìn)制的格式:

  0x00bbggrr

  可以用這樣一個結(jié)構(gòu)體來描述。

  

RGB_value struct
{
     byte unused ;
     byte blue ;
     byte green ; 
     byte red;
};

  

  其中第一字節(jié)為 0 而且始終為 0,其它三個字節(jié)分別表示藍(lán)色、綠色和紅色,剛好和 RGB 的次序相反。這個結(jié)構(gòu)體用起來挺別扭。

二、如何使用

對于COLORREF,我們通常使用宏RGB對其進(jìn)行賦值。

  宏的定義如下:

  COLORREF RGB

  (

  BYTEbyRed, // red component of color

  BYTEbyGreen, // green component of color

  BYTEbyBlue // blue component of color

  );

  COLORREF 是一個 32-bit 整型數(shù)值,它代表了一種顏色。

方法一:你可以使用 RGB 函數(shù)來 初始化 COLORREF。

例如:

  COLORREF color=RGB(0,255,0);

RGB函數(shù)接收三個 0-255 數(shù)值,一個代表紅色,一個代表綠色,一個代表藍(lán)色。在上面的例子中,紅色和藍(lán)色值都為 0,所以在該顏色中沒有紅色和藍(lán)色。綠色為最大值255。所以該顏色為綠色。0,0,0 為黑色,255,255,255 為白色

方法二:

  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);

總結(jié)

以上是生活随笔為你收集整理的关于COLORREF的定义及用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。