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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • win10查看激活时间

    win10查看激活时间win10查看激活时间1、使用Windows+R组合快捷键打开运行命令框运行:slmgr.vbs-dlv命令可以查询到Win10的激活信息,包括:激活ID、安装ID、激活截止日期等信息。看不懂的继续往下。2、运行:slmgr.vbs-dli命令可以查询到操作系统版本、部分产品密钥、许可证状态等。3、运行:slmgr.vbs-xpr命令可以查询Win10是否永久激活…

    2022年5月30日
    51
  • 【STM32F407的DSP教程】第2章 Matlab R2018a的安装

    【STM32F407的DSP教程】第2章 Matlab R2018a的安装完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547第2章MatlabR2018a的安装本期教程主要是讲解MatlabR2018a的安装过程,作为学习DSP的必备软件,掌握简单的Matlab操作是必须的。目录第2章MatlabR2018a的安装2.1初学者重要提示2…

    2025年9月24日
    8
  • mysql寻呼最快

    mysql寻呼最快

    2021年12月31日
    44
  • linux如何退出文件查看模式,linux vi保存退出指令(如何退出vi)

    linux如何退出文件查看模式,linux vi保存退出指令(如何退出vi)有很多方法退出Vi当编辑完文件准备退出Vi返回到shell时可以使用以下几种方法之一在命令模式中连按两次大写字母Z若当前编辑的文件曾被修改过则Vi保存该文件后退出返回到shell;若当前编辑的文件没被修改过则Vi直接退出返回到shell在末行模式下输入命令:wVi保存当前编辑文件但并不退出而是继续等待用户输入命令在使用w命令时可以再给编辑文件起一个新的文件名[例]:wnewfi…

    2022年9月27日
    3
  • kali更新源(软件更新,附kali源列表)

    kali更新源(软件更新,附kali源列表)kali更新源(软件更新)源列表见文末(2019年10月5日更新)1.vim/etc/apt/sources.list文件添加如图内容,保存退出即可。2.刷新软件包列表apt-getupdate注:VMwareWorkstation中的虚拟机需要调成桥接或者NAT模式,保证虚拟机可以上网。…

    2022年5月8日
    151
  • py文件怎么打包成可执行文件_pycharm写好的程序打包

    py文件怎么打包成可执行文件_pycharm写好的程序打包步骤一:安装pyinstaller推荐使用国内豆瓣镜像源安装,否则很可能会失败。在cmd命令行中输入pipinstallpyinstaller-ihttps://pypi.douban.com/simple步骤二:在pycharm中打开:View-ToolWindows-Terminal打开到所要生成exe文件的该文件目录下,输入Terminal中输入:“pyinstaller-F-w’文件名‘.py”就可以制作出exe。-w的用处是不出现黑色控制台窗口。…

    2022年8月28日
    4

发表回复

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

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