1 定义

typedef DWORD COLORREF;

即为一个32为长整数

2 初始化

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

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

#define RGB(r,g,b) ((COLORREF)(((BYTE)®|((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了

COLORREF结构相关推荐

  1. vc++基于颜色直方图的图像检索,含代码

    一. 理论和方法介绍 a) 采用颜色检索方法的目的: 对多媒体数据的检索,早期的方法是用文本将多媒体数据进行标识,这显然不是基于多媒体信息本身内容的检索,对多媒体数据中包含的信息是一中及大的浪费: 基 ...

  2. MFC中的GDI绘图

    MFC中的GDI绘图 目录(?)[+] 什么是GDI 什么是DC MFC中与GDI有关的类 获取设备环境 设置坐标映射 创建绘图工具并选入DC 调用DC绘图函数绘图 三坐标映射实例 一.关于GDI的基 ...

  3. MFC GDI绘图基础

    一.关于GDI的基本概念 什么是GDI? Windows绘图的实质就是利用Windows提供的图形设备接口GDI(Graphics Device Interface)将图形绘制在显示器上. 在Wind ...

  4. 用VC++实现图像检索技术(转)

    转自:http://www.cppblog.com/wrhwww/archive/2008/09/10/61516.html 一. 理论和方法介绍 a) 采用颜色检索方法的目的: 对多媒体数据的检索, ...

  5. Windows Vista for Developers——第三部分:桌面窗口管理器

    作者:Kenny Kerr 翻译:Dflying Chen 原文:http://weblogs.asp.net/kennykerr/archive/2006/08/10/Windows-Vista-f ...

  6. windows编程之画笔

    windows编程之画笔 文章目录 windows编程之画笔 @[toc] GetStockObject SelectObject CreatePen CreatePenIndirect LOGPEN ...

  7. mfc 子窗口 跟随 主窗口

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://shujiantang.blogbus.com/logs/29644154.html 前不久做了一个MFC项目.项目做完 ...

  8. 游戏编程入门(3):绘制基本 GDI 图形

    接上文 游戏编程入门(2):创建游戏引擎和使用该引擎制作小游戏 本篇内容包括: 使用Windows图形设备接口绘制图形的基础知识 设备环境是什么以及它为什么对GDI图形如此重要 如何在Windows中 ...

  9. Windows常用API

    目录: 1:MessageBox        -------------------------------- 1 2:MessageBox        --------------------- ...

最新文章

  1. SpringCloud系列一:SpringCloud的简介和架构
  2. 特征工程包含那些步骤?如何进行特征的迭代?
  3. 让echo解析反斜杠
  4. python 数据分析学什么-python数据分析哪些课程好?
  5. Google App Engine技术架构之Google App Engine的简介
  6. MSF(二):msf外部/内部常用命令
  7. jQuery 入口函数主要有4种写法
  8. LeetCode 380. 常数时间插入、删除和获取随机元素(哈希+vector)
  9. SpringCloud工作笔记049---nginx的安装及配置为简单的文件服务器
  10. JAVA类的无参方法
  11. 一款C++ 可视化调试工具增强插件
  12. 年薪 40w 的应届生
  13. 基于Java的在线购书系统
  14. graphql java sql_GraphQL标准的Java实现graphql-java概述
  15. 金山词霸2009牛津版完整破解版+绿色精简版下载
  16. 实验室只有1080显卡,老师还想让发深度学习论文怎么办?
  17. JavaSE_05【数组】拓展练习
  18. VulnHub系列之Lampiao渗透测试
  19. 名帖196 米芾 行书《诉衷情》
  20. 学大伟业 2017 国庆 Day1

热门文章

  1. java操作题36套
  2. 计算机论文答辩2分钟演讲稿,5分钟毕业论文答辩演讲稿
  3. 两不同服务器上的mysql跨库查询
  4. python中的replaceall_jQuery replaceWith()和replaceAll()方法
  5. Error C2280
  6. EOS系列九:EOS权限设置
  7. 315晚会报道的无人机是怎么被劫持的?
  8. bootstrap的导航案列
  9. 3x带宽经验法则在时域上保证了什么?
  10. 软件支持 | 更新最新版本的Adobe cc 2018.1