扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
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
intnColor=crColor.ToArgb();
intblue=nColor&255;
intgreen=nColor>>8&255;
intred=nColor>>16&255;
//注意COLORREF中颜色的排列是BGR,而通过Color.ToArgb()得到的数值中颜色排列是AARRGGBB
intnColorRef=blue<<16|green<<8|red;
2、从COLORREF到Color(注意COLORREF中颜色的排列是BGR,红色分量在最后面)
intred=nColorRef&255;
intgreen=nColorRef>>8&255;
intblue=nColorRef>>16&255;
ColorcrColor=Color.FromArgb(red,green,blue);
或者直接通过下面的代码:
Color.FromArgb(nColorRef&255,nColorRef>>8&255,nColorRef>>16&255);
注:上面的代码使用C#编写。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者