如何获得屏幕坐标(x,y)处的颜色值??

tujj99 2003-08-25 08:12:26
我想在TDrawGrid中单击某个单元就获得该单元的颜色值,请问用什么函数?
...全文
128 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvjack 2003-08-25
  • 打赏
  • 举报
回复
季老大等人的代码

自己写也很简单的。假设已经知道鼠标的位置(屏幕位置)为(X,Y),那么:
HDC hDC = GetWindowDC(NULL);
COLORREF nColor = GetPixel(hDC, X, Y);
ReleaseDC(NULL, hDC);
BYTE R = GetRValue(nColor); //红色
BYTE G = GetGValue(nColor); //绿色
BYTE B = GetBValue(nColor); //蓝色
============
在季头的程序中再加入得到鼠标位置的函数就ok了,例如

TPoint pt;
GetCursorPos(&pt);
HDC hDC = GetWindowDC(NULL);
COLORREF nColor = GetPixel(hDC, pt.X, pt.Y);
ReleaseDC(NULL, hDC);
BYTE R = GetRValue(nColor); //红色
BYTE G = GetGValue(nColor); //绿色
BYTE B = GetBValue(nColor); //蓝色

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧