下载 > 资源分类 >  开发技术 >  C++ > 获取屏幕上各颜色的红、绿、蓝值

获取屏幕上各颜色的红、绿、蓝值

2002-10-08 上传大小:51KB
在桌面上运行各种程序中,有很多色彩十分靓丽,我们有时也想使用它们的颜色,但苦于没有源码,所以很难准确知道它们的R、G、B颜色值。于是便产生了很多拾取屏幕颜色的工具,你想知道它们是怎么用程序实现的么?下面我就拿我用VC6.0做的一个屏幕颜色拾取器的实例代码来告诉您,实例程序运行后的界面如下:<br>
<br>
基本构成思想:<br>
&nbsp;&
nbsp;&nbsp;&nbsp;原理很简单,只需要简要的三步。既:获取屏幕DC、得到当前鼠标所在的像素值、分解出像素值中的红、绿、蓝三色既可,很简单吧!<br>
<br>
关键代码实现:<br>
1、&nbsp;&nbsp;&nbsp;&nbsp;获取屏幕DC<br>
HDC hDC = ::GetDC(NULL);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//获取屏幕DC<br>
<br>
2、&nbsp;&nbsp;&nbsp;&nbsp;获取当前鼠标位置像素值<br>
CPoint pt;<br>
GetCursorPos(&amp;pt);       &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//得到当前鼠标所在位置<br>
<br>
COLORREF clr = ::GetPixel(hDC, pt.x, pt.y);&nbsp;&nbsp;&nbsp;&nbsp;//获取当前鼠标点像素值<br>
<br>
3、&nbsp;&nbsp;&nbsp;&nbsp;分解出像素点中的红、绿、蓝颜色值<br>
CString ClrText;<br>
ClrText.Format(&quot;%d&quot;,GetRValue(clr));     //分解出红色值<br>
ClrText.Format(&quot;%d&quot;,GetGValue(clr));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//分解出绿色值<br>
ClrText.Format(&quot;%d&quot;,GetBValue(clr));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//分解出蓝色值<br>
&nbsp;&nbsp;&nbsp;<br>
::ReleaseDC(NULL, hDC);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//释放屏幕DC<br>
<br>
以上部分代码的具体实现的细节问题,可在下载实例代码后,仔细查看源码既可(内有详细注释)。<br>
...展开收缩
综合评分:4.2(32位用户评分)
直接下载 开通VIP会员 免积分下载

评论共有0条

评论资源

您不能发表评论,可能是以下原因:

登录后才能评论

待评论资源
 

热门专辑

关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

CSDN VIP年卡 4000万程序员的必选现在开通,立省522元
下载
img

获取屏幕上各颜色的红、绿、蓝值

会员到期时间: 剩余下载个数: 剩余C币:0 剩余积分:
VIP下载

积分不足!

资源所需积分 当前拥有积分
您可以选择
开通VIP年卡
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img
资源所需积分 当前拥有积分 当前拥有C币
5 4 45
(仅够下载10个资源)
VIP年卡
全站1200个资源免积分下载
下载
img
资源所需积分 当前拥有积分 当前拥有C币
5 0 0
VIP年卡
全站1200个资源免积分下载
C币充值开通VIP年卡
img
资源所需积分 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
VIP年卡
全站1200个资源免积分下载
下载
下载

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可奖励20下载分

  • 举报人:
  • 被举报人:
  • 举报的资源分:
  • *类型:
  • *详细原因: