colorref?怎么得到 colorref 颜色分量
大家好,感谢邀请,今天来为大家分享一下colorref的问题,以及和怎么得到 colorref 颜色分量的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
怎么得到 colorref 颜色分量
COLORREF类型颜色的值COLORREFcr=RGB(123,200,12);
其中的R、G、B三个分量的排列顺序是BGR。
.NET中通过数据类型Color表示颜色,该类有一个函数FromArgb(int,int,int),可以通过输入RGB三个值得到一个Color类型的颜色。同时也有一个ToArgb()函数,得到一个32位的整数值,
32位ARGB值的字节顺序为AARRGGBB。由AA表示的最高有效字节(MSB)是alpha分量值。分别由RR、GG和BB表示的第二、第三和第四个字节分别为红色、绿色和蓝色颜色分量
了解了上面的内容,颜色的转换就很简单了。
1、从Color到COLORREF
int nColor=crColor.ToArgb();
int blue=nColor&255;
int green=nColor>>8&255;
int red=nColor>>16&255;
//注意COLORREF中颜色的排列是BGR,而通过Color.ToArgb()得到的数值中颜色排列是AARRGGBB
int nColorRef=blue<<16|green<<8|red;
2、从COLORREF到Color(注意COLORREF中颜色的排列是BGR,红色分量在最后面)
int red=nColorRef&255;
int green=nColorRef>>8&255;
int blue=nColorRef>>16&255;
Color crColor=Color.FromArgb(red,green,blue);// C#编写
Color crColor(red,green,blue);// C++编写
请教SetTextColor函数的用法
SetTextColor命令其功能:设置指定设备环境(HDC)的字体颜色函数SetTextColor命令格式如下:WINGDIAPI COLORREF WINAPI SetTextColor(__in HDC hdc, __in COLORREF color);其中:hdc是当前设备的句柄。color是设置当前设备字符输出颜色。
举个例子来说明。调用这个函数的例子如下:
#001//
#002//界面显示输出.
#003//
#004//蔡军生 2007/08/13 QQ:9073204深圳
#005//
#006 void CCaiWinMsg::OnDraw(HDC hDC)
#007{
#008//
#009 std::wstring strShow(_T("C++窗口类的实现,2007-08-13"));
#010 TextOut(hDC,10,10,strShow.c_str(),(int)strShow.length());
#011
#012//设置输出字符串的颜色.
#013 COLORREF crOld= SetTextColor(hDC,RGB(255,0,0));
#014 TextOut(hDC,10,30,strShow.c_str(),(int)strShow.length());
#015
#016 SetTextColor(hDC,RGB(0,255,0));
#017 TextOut(hDC,10,50,strShow.c_str(),(int)strShow.length());
#018
#019 SetTextColor(hDC,RGB(0,0,255));
#020 TextOut(hDC,10,70,strShow.c_str(),(int)strShow.length());
#021
#022//
#023 SetTextColor(hDC,crOld);
#024}
第13行设置字符的颜色为红色。
第16行设置字符的颜色为绿色。
第19行设置字符的颜色为蓝色。
第23行恢复原来的颜色,这个一定要记得做,否则后面显示会出错。
Color中的getColor怎么用
public static Color getColor(String nm)查找系统属性中的一种颜色。
该参数被视为要获得的系统属性的名称。然后,将此属性的字符串值解释为一个整数值,该整数接着被转换为一个 Color对象。
如果没有找到指定的属性,或者无法将它当作一个整数来分析,则返回 null。
参数:
nm-颜色属性的名称
返回:
系统属性所转换的 Color
mfc 怎样设置colorref类型的alpha值
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到此分享完毕,希望能帮助到您。