COLORREF结构「建议收藏」

COLORREF结构「建议收藏」1 定义typedef DWORD  COLORREF;即为一个32为长整数2初始化COLORREFcol=RGB(100,200,10);其中用到了RGB,看看他是什么:#defineRGB(r,g,b)         ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))原来也是一个COLORREF,不过是把参数转换

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

1  定义

typedef  DWORD   COLORREF;

即为一个32为长整数

2 初始化

COLORREF col = RGB(100,200,10);

其中用到了RGB,看看他是什么:

#define RGB(r,g,b)          ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16)))

原来也是一个COLORREF ,不过是把参数转换了下,至于为什么要转换,可以看看我的另外一篇D3D颜色的文章。

3 取值

GetXValue(COLORREF col ),其中的X可以是R,G,B等,分别表示取得相应的颜色值,例如:

 COLORREF col = RGB(100,200,10);
 BYTE r = GetRValue(col);

表示取得R值

看下他的定义:

#define GetRValue(rgb)      (LOBYTE(rgb))
#define GetGValue(rgb)      (LOBYTE(((WORD)(rgb)) >> 8))
#define GetBValue(rgb)      (LOBYTE((rgb)>>16))

其中用到了LOBYTE,这个我就不讲了,大家可以去看下他的定义

4 使用

主要是用于GetPixel的返回值,如

 COLORREF  col;
col = GetPixel(hMyDC,(i+1)%bmp.bmWidth,(i+1)/bmp.bmWidth);

5 注意事项:

初始化时颜色值必须是0~255的整数,否则会出现溢出,看下原因RGB的定义就知道了,转换为BYTE了

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223692.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql查询字段中带空格的值的sql语句,并替换

    mysql查询字段中带空格的值的sql语句,并替换

    2022年2月12日
    40
  • 数据库的概念结构设计应在_数据库概念结构设计的任务

    数据库的概念结构设计应在_数据库概念结构设计的任务概念结构设计将需求分析得到的用户需求抽象成信息世界的概念结构模型的过程。概念结构是各种数据模型的基础,它比数据模型更独立于机器,更加抽象更加稳定。概念结构设计是数据库设计的关键。一般用ER图来描述。 概念结构设计的特点(1)能真实充分的反应现实世界。(2)可扩充,易于更改。(3)易于理解。(4)易于向其他数据模型转换。 概念结构设计的步骤与方法1.方法:自顶向下:先根据总需求获得全局概念结构的框架,再根据全局概念结构逐步细化。自底向上:根据子需求获得部

    2022年10月12日
    2
  • setContentView源码学习

    setContentView源码学习参考博客:https://blog.csdn.net/qq_17250009/article/details/52242895https://www.jianshu.com/p/40a9c93b5a8dhttps://www.jianshu.com/p/e42b638944ae特别说明,我用的API版本是25,这句话后面会用到,特别注意!!!今天突然有个想法:不同的布局文件,相…

    2022年6月26日
    25
  • 贴片电阻符号表示_怎样识别贴片电阻的阻值

    贴片电阻符号表示_怎样识别贴片电阻的阻值1、贴片电阻阻值和精度贴片电阻本体颜色为黑色,电阻体上一般标注为白色数字(小型电阻无标识,称无印字贴片电阻),如图4所示。贴片电阻在电路板上的元件序列号(常称位号)为R(如R1、R2等)。贴片电阻的基本参数有标称阻值、额定功率、误差级别、最高电压、温度系数等,但在实际使用中,只需关注标称阻值和额定功率值这两项参数就可以了。主要有三位表示和四位表示两种方法三位表示:前2位数字分别为十位、个位值,称为有效数值,第3位数字是10的X次方,误差值在+-%5。…

    2022年8月21日
    5
  • python set 一些用法

    python set 一些用法

    2021年11月27日
    44
  • discuz-论坛搬家

    discuz-论坛搬家【番网科技】discuzx3.1论坛搬家、换空间教程discuz网站搬家方法步骤discuz论坛搬家换空间本来时间简单的事,但是问题在于各位站长搬家后出现各种各样的问题,于是本人屡试不爽的discuzx3.1搬家教程分享给大家,我搬家可能数十次,从未出过任何问题。一、备份网站数据。进入后台—站长—数据库—备份,备份成功以后,数据保存在data/backup_d1d…

    2022年7月25日
    16

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号