,,COLORREF,COLOR,RGB,CString的转化总结分析

,,COLORREF,COLOR,RGB,CString的转化总结分析

实际的软件开发过程中,常需要用到非。净得很平台的代码。这时候就可能碰到ColorRef(也就是以内部的类型代表的颜色值或是以S7-1200可编程控制器值表示的颜色页:1。这跟。净得很平台下的颜色的相互转换女士们并没有直接实现

010-5900 RGB(r、g、b)是一个宏实际上它做得事是(COLORREF)(((位元组)(r)|(字)((位元组)(g))8))|(((DWORD)(位元组)(b))16))

rgb(r、g、b)=1一个整型值=r g * 256 b*255*256

COLORREF是一个32位整型数值,它代表了一种颜色。你可以使用RGB(三原色)函数来初始化COLORREF它的定义typedef DWORD COLORREF:

010-5900 color ref cf=RGB(、);一、COLORREF与RGB的相互转化美元复制代码代码如下:ccolordialog colordialogcolorref颜色

如果(颜色对话框)。domodal()==idok){ color=color dialog。get color();}这段代码使用了MFC(消歧义)中的颜色对话框

COLORREF变量有两种赋值方法第一种美元可以使用宏getrvaluegetgvaluegetbvalue

010-5900 #定义值(rgb)(位元组)(RGB))#定义GetGValue(rgb)(位元组)(((字)(rgb)) 8)

#定义GetBValue(rgb)((位元组)((rgb)16))

第二种美元实际的软件开发过程中,常需要用到非。净得很平台的代码。这时候就可能碰到ColorRef(也就是以内部的类型代表的颜色值或是以S7-1200可编程控制器值表示的颜色页:1。这跟。净得很平台下的颜色的相互转换女士们并没有直接实现。那么就需要我们自己处理了。这里给出两个函数。复制代码代码如下:uint GetCustomColor(颜色){ int ncolor=color .to argb();int blue=ncolor 255 int green=ncolor 8 255 int red=ncolor 16 255返回转换ToUInt32(蓝色16 |绿色8 |红色);}

隐藏颜色颜色(中间颜色)

{ int blue=颜色255;int绿色=颜色8 255:int red=颜色16 255;返回颜色FromArgb(蓝色、绿色、红色);}注:COLORREF中颜色的排列是BGR,而通过彩色的ToArgb()得到的数值中颜色排列是aarrggbb足球俱乐部

如何从 COLORREF中取出RGB分量值?美元复制代码代码如下:ccolordialog dlg如果(dlg).domodal()==idok){//m _ fill color=DLG .get color();COLORREF ctmpColor=dlg .get color();tmpcolortmpColor。setfromcolorref(ctmp color);argb argb=color:makar GB(m _ nfiltran,tmpColor).drin()、tmpColor .GetG()、tmpColor .getb();//图形(pDC-m _ hDC)://hatch brush hbrush(hatstyledashihorizontal,Color(100,255,0,0),Color(argb));tmp color=arg BM _ fill color=tmp color .toolor orref();//m_FillColor=RGB(颜色(argb));

}这是用美国石油学会函数写的Colorref和颜色(颜色)直间的转换。

我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊

COLORREF和字符之间的转换他们的定义如下美元复制代码代码如下:int ired=value(pmarkinfo-lf color);int I green=getgvalue(pmarkinfo-lf color);int iblu=getbv value(pmarkinfo-lf color);cstring szcolorszColor(色)。页:1:{ fn华文楷体3ch 804000 } m _背色。m _ frame _ color=' # 0290 D8S7-1200可编程控制器:sscannf(m _ backcolor。m _ frame _ color," #%2X%2X%2X,r,g,b);COLORREF rgb=RGB(r、g、b);画笔(意大利语)。create olidb ush(RGB)/////////////////////////////////////////////////////color ref转换为字符串

bool CDATA manager:begbtext(STD:string strrgbttext,color ref color){//colorref col=RGB(255,12,4);位元组red=getrvalue(颜色):///得到红颜色字节绿色=GetGValue(颜色):///得到绿颜色字节蓝色=GetBValue颜色:///得到兰颜色char chr[4];itoa(红色,chR,10);

坦克车[4];伊托阿(绿色、chG、10);

char CHB[4];伊托阿(蓝色,chB,10);

std:string strR,ctrl,strbstrr=chrstrg=chgstrb=chb

strRGBText=strR、ctrl、strb

返回真实}

//字符串转换为COLORREF,如(' 32 '、' 34 '、' 21 ')

bool CDATA manager:get color GB(cstring strcolortext,COLORREF color){ char chR[4]='、chG[4]='、CHB[4]=';sscannf(strcolortext,chR,chG,CHB);颜色=RGB(atoi(chR)、atoi(chG)、atoi(CHB));返回真实的我的天啊,我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • word文档无法编辑是怎么回事-
  • 华为手机怎么设置返回键(华为手机下面的三个按键设置方法)
  • lumia950怎么样(Lumia950体验分享)
  • otg连接是什么意思(OTG连接手机方法)
  • 笔记本触摸板怎么右键(笔记本电脑触控板手势操作设置)
  • 真我x7怎么样(realme X7 系列体验)
  • 苹果的A16处理器有多强(苹果的A16处理器的介绍)
  • 小米互传怎么用(小米手机的连接与共享教程)
  • 怎么设置电脑桌面图标自动对齐 设置电脑桌面自动整理图标的方法
  • 宽带错误651最简单解决方法(处理宽带错误651的措施)
  • 大学生手机有什么推荐(大学生换手机攻略)
  • 天玑1100和骁龙778g哪个好(骁龙778G、天玑900、天玑1100购选建议)
  • yum update 升级报错的解决办法
  • Windows10禁用屏保教程
  • 连接wifi显示无互联网连接怎么办(无线连上了却不能上网处理绝招)
  • 留言与评论(共有 条评论)
       
    验证码: