如何获取屏幕上各颜色的红、绿、蓝值
来源:互联网 发布:openframeworks知乎 编辑:程序博客网 时间:2024/04/27 19:02
在桌面上运行各种程序中,有很多色彩十分靓丽,我们有时也想使用它们的颜色,但苦于没有源码,所以很难准确知道它们的R、G、B颜色值。于是便产生了很多拾取屏幕颜色的工具,你想知道它们是怎么用程序实现的么?下面我就拿我用VC6.0做的一个屏幕颜色拾取器的实例代ma
来告诉您,实例程序运行后的界面如下:
基本构成思想:
原理很简单,只需要简要的三步。既:获取屏幕DC、得到当前鼠标所在的像素值、分解出像素值中的红、绿、蓝三色既可,很简单吧!
关键代码实现:
1、 获取屏幕DC
HDC hDC = ::GetDC(NULL); //获取屏幕DC
2、 获取当前鼠标位置像素值
CPoint pt;
GetCursorPos(&pt); //得到当前鼠标所在位置
COLORREF clr = ::GetPixel(hDC, pt.x, pt.y); //获取当前鼠标点像素值
3、 分解出像素点中的红、绿、蓝颜色值
CString ClrText;
ClrText.Format("%d",GetRValue(clr)); //分解出红色值
ClrText.Format("%d",GetGValue(clr)); //分解出绿色值
ClrText.Format("%d",GetBValue(clr)); //分解出蓝色值
::ReleaseDC(NULL, hDC); //释放屏幕DC
来告诉您,实例程序运行后的界面如下:
基本构成思想:
原理很简单,只需要简要的三步。既:获取屏幕DC、得到当前鼠标所在的像素值、分解出像素值中的红、绿、蓝三色既可,很简单吧!
关键代码实现:
1、 获取屏幕DC
HDC hDC = ::GetDC(NULL); //获取屏幕DC
2、 获取当前鼠标位置像素值
CPoint pt;
GetCursorPos(&pt); //得到当前鼠标所在位置
COLORREF clr = ::GetPixel(hDC, pt.x, pt.y); //获取当前鼠标点像素值
3、 分解出像素点中的红、绿、蓝颜色值
CString ClrText;
ClrText.Format("%d",GetRValue(clr)); //分解出红色值
ClrText.Format("%d",GetGValue(clr)); //分解出绿色值
ClrText.Format("%d",GetBValue(clr)); //分解出蓝色值
::ReleaseDC(NULL, hDC); //释放屏幕DC
0 0
- 如何获取屏幕上各颜色的红、绿、蓝值
- 如何获取屏幕上各颜色的红、绿、蓝值
- 12[红+绿+蓝+Alpha]
- 汇编,实现从键盘输入r,g,b分别将字符的颜色设置为红,绿,蓝
- 红R绿G蓝B
- HTML之变色(蓝、绿、红)
- bcb 从TColor对象中解析出红、绿、蓝的亮度
- 用c8051f330做的VGA显示器红,绿,蓝,信号源软件源代码
- Game Programming with DirectX -- 12[红+绿+蓝+Alpha]
- Game Programming with DirectX -- 12[红+绿+蓝+Alpha]
- java 图像RGB,图像红、绿、蓝、灰 化
- VC获取屏幕上任意点位置的颜色
- 获取屏幕上某一位置像素的颜色
- VC获取屏幕上任意点的颜色
- c#获取屏幕上某坐标点的颜色
- java获取屏幕上某坐标点的颜色
- 聚来宝获商务部《媒体购物国家标准》制订单位 【2012-12-22 17:04:20】【来源:京华网】【字体:大 中 小】【颜色:红 绿 蓝 黑】【分享新闻】
- 获取鼠标在屏幕上的坐标和颜色值(RGB)
- struts2在项目中的应用之下载
- android Fragments (Android官方文档中文版)
- 天机:天猫如何做O2O
- ExtJS4 中的右键菜单之获取节点信息
- linux中 likely与unlikely
- 如何获取屏幕上各颜色的红、绿、蓝值
- SQL SERVER除运算怎样取小数形式
- 各个国家 不同字符集的unicode 编码范围
- Java:子类调用超类方法的一种特殊情况
- Java abstract class 和 interface 区别
- 蚂蚁感冒
- 悲剧的存在
- 设计模式系列课程06之【接口隔离原则】
- SQL性能监控工具 P6Spy、SQL Profiler、IronStack SQL简介