Easyx——void setcolor(COLORREF color)中的 colorref类型
一、什么是COLORREF?
COLORREF类型用来描绘一个RGB颜色。其定义如下:
typedef DWORD COLORREF;
typedef DWORD *LPCOLORREF;
COLORREF类型变量值描绘一个颜色时对应于下面16进制的格式:
0x00bbggrr
可以用这样一个结构体来描述。
RGB_value struct{byte unused ;byte blue ;byte green ;byte red;};
其中第一字节为 0 而且始终为 0,其它三个字节分别表示蓝色、绿色和红色,刚好和 RGB 的次序相反。这个结构体用起来挺别扭。
二、我该怎样用它?
对于COLORREF,我们通常使用宏RGB对其进行赋值。
宏的定义如下:
COLORREF RGB(BYTEbyRed, // red component of colorBYTEbyGreen, // green component of colorBYTEbyBlue // blue component of color);
COLORREF 是一个 32-bit 整型数值,它代表了一种颜色。
方法一:你可以使用 RGB 函数来 初始化 COLORREF。
例如:
COLORREF color=RGB(0,255,0);
RGB函数接收三个 0-255 数值,一个代表红色,一个代表绿色,一个代表蓝色。在
上面的例子中,红色和蓝色值都为 0,所以在该颜色中没有红色和蓝色。绿色为最大值
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);
Easyx——void setcolor(COLORREF color)中的 colorref类型相关推荐
- (1)定义接口A,里面包含值为3.14的常量PI和抽象方法double area()。 (2)定义接口B,里面包含抽象方法void setColor(String c)。
代码 /*第一题:(1)定义接口A,里面包含值为3.14的常量PI和抽象方法double area().(2)定义接口B,里面包含抽象方法void setColor(String c).(3)定义接口 ...
- c语言中的void指针,C程序中void指针的概念
到目前为止,我对void指针的轻描淡写如下. 当使用关键字void声明指针变量时,它将成为通用指针变量.任何数据类型(char,int,float等)的任何变量的地址都可以分配给void指针变量. m ...
- C#中static void Main(string[ ] args)中的作用及解释
C#中static void Main(string[ ] args)中的作用及解释 static 表示方法是静态的就是说方法在程序被编译的时候就被分配了内存,使用的时候不用生成某个类型的对象,知道程 ...
- c语言 万能函数指针,C/C++编程笔记:C语言精华解析之void *指针,指针中的万能指针...
什么是万能指针? 万能指针其实就是void *类型的指针,而void *指针一般被称为通用指针或叫泛指针.它是C语言关于纯粹地址的一种约定.当某个指针是void型指针时,所指向的对象不属于任何类型. ...
- python rgb2gray,skimage.color中的rgb2gray是如何实现彩色图片灰度化
最近在分析彩色图片灰度化的过程中使用到了一个函数skimage.color中的rgb2gray(),但是与自己所实现的灰度化公式在计算结果上出入较大,因此特意写这篇文章记录一下对比过程. 首先,看一下 ...
- 在java中关于枚举类型的特性_java枚举类型小结
JDK5.0之前,我们一般选择使用 interface 来保存常量组,以此来弥补 JDK 中没有枚举类型的缺陷,从JDK5.0开始,Sun引进了一个全新的关键字 enum 来定义一个枚举类.同inte ...
- Java语言中的枚举类型
枚举类型(Enumerated Type)在编程语言中常用,程序员必备食粮,下面随着我的思路来认识一下枚举类型. 是什么 枚举类型在java中是一种基本数据类型.它用于声明一组命名的常数,当一个变量有 ...
- 为什么要在JavaScript中使用静态类型? (使用Flow进行静态打字的4部分入门)
by Preethi Kasireddy 通过Preethi Kasireddy 为什么要在JavaScript中使用静态类型? (使用Flow进行静态打字的4部分入门) (Why use stati ...
- Matlab中的结构类型struct
结构(struct)数组 要在MALTAB中实现比较复杂的编程,就不能不用struct类型.而且在MATLAB中实现struct比C中更为方便. 4. 3.1 结构数组的创建 MATLAB提供了两种定 ...
最新文章
- 本地连接阿里云RDS
- eclipse常用快捷键汇总
- 计算机信息系统安全保护条例最新,计算机信息系统安全保护条例.doc
- java学习笔记2022.1.17
- [转]web测试技术经典案例
- BPP 相关——02
- 区分那些是属于构架方面的C++功能
- MyEclipse 为xml添加本地的dtd文件
- soapui返回值类型都有哪些_滚珠丝杠的常用类型都有哪些?
- [转载·运维案例一]nginx日志切割及7天前的历史日志删除脚本
- 实用的才是最好的,教你如何以MATLAB的方式实现高等应用数学问题(一)
- 使用python模拟实现PID控制算法
- 【技术邻】FloEFD热仿真分析之结果处理
- B to B 与B to C网络支付结算方式区别
- 中国诗歌艺术7诗的魅惑:中国诗歌的几个基本元素之诗的语词及构句特点
- java 词频统计_Java实现的词频统计
- 数论 质因数分解 试除法
- ITIL Expert
- [PTA]实验3-6 计算个人所得税
- uniapp拨打电话
热门文章
- android6 miui9分屏,miui9分屏功能怎么用 miui9分屏怎么开启
- Codeforces Round #666 (Div. 1) ABCD(E)题解
- 登吃鸡显示无法连接到服务器,“吃鸡”玩家对比2次补偿礼包,光子变“小气”了!...
- 【DP|01背包】AHU-603 LOL系列之蒙多的春天
- jsp024ssm汽车配件管理系统
- 论文学习笔记(4):Intrinsic and Isotropic Resampling for 3D Point Clouds(内在控制的各向同性3D点云重采样)
- Android平台异常崩溃捕捉处理
- 海夕漫科技:直通车会影响自然流量吗
- 细说android广播机制(java)
- $random 函数用法