COLORREF怎么用(colorref)

摘要 大家好,我是小典,我来为大家解答以上问题。COLORREF怎么用,colorref很多人还不知道,现在让我们一起来看看吧!COLORREF类型颜色的值COLO...

大家好,我是小典,我来为大家解答以上问题。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++编写

本文到此讲解完毕了,希望对大家有帮助。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,多谢。