VC++/MFC如何提取屏幕上每一点的RGB值并判断?
假如想判断屏幕上某点是否是纯白色,可这点是动态变化的,也就是说每次都不在同一坐标点上,GetPixel函数只能判定一点坐标RGB值。自己假象了下也试了下,设了个横坐标变量...
假如想判断屏幕上某点是否是纯白色,可这点是动态变化的,也就是说每次都不在同一坐标点上,GetPixel函数只能判定一点坐标RGB值。 自己假象了下也试了下,设了个横坐标变量X/纵坐标Y 自加后然后循环,最后判断if(hDC.GetPixel(x,y)==0x00FFFFFF),然后是想干的事。但程序运行后没反应- - 具体该怎么实现达到扫描整个屏幕,并立即找到自己所要找同样的RGB值的像素点?
展开
1个回答
展开全部
int nWidth=GetSystemMetrics(SM_CXSCREEN); int nHeight=GetSystemMetrics(SM_CYSCREEN); for(int i=0;i<nWidth;i++) { for(int j=0;j<nHeight;j++) { HDC hDC = ::GetDC(NULL); //获取屏幕DC //2、 获取当前鼠标位置像素值 CPoint pt; pt.x=nWidth; pt.y=nHeight; COLORREF clr = ::GetPixel(hDC, pt.x, pt.y); if() //你要做的判断 { } } }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询