C++程序 读取屏幕像素
获取有关屏幕像素的颜色信息是自动化软件执行的常见操作,该软件依赖屏幕上的活动。该过程是微不足道的,并且此类功能会借助图像/窗口读取库并入编程语言。本文将教您如何使用C++读取屏幕像素。 <windows.h>头文件可以帮助我们获取像素颜色。
GetPixel函数
可以调用 getpixel 函数来获取屏幕像素的颜色值,并将要读取像素值的坐标作为参数传递。
语法:
参数:
- hdc: 设备上下文的句柄(要读取像素的设备,例如显示器)
- a: 要检查的像素的x坐标,以逻辑单位为单位。
- b: 要检查的像素的y坐标,以逻辑单位为单位。
返回值: 返回值是 COLORREF 值,指定像素的RGB。如果像素超出剪辑区域,则返回值为 CLR_INVALID 。
读取屏幕像素
在下面的示例中,将获取单个像素的像素值。可以通过循环方法扩展此方法以获取一系列像素的颜色值。
示例:
输出:
程序输出
说明: 首先使用NULL参数(用于屏幕)使用获取显示器的设备上下文。然后调用GetPixel函数,并将设备上下文以及像素的水平和垂直坐标作为参数发送过去。将返回数据存储在COLORREF变量中。稍后,通过GetRValue、GetBValue和GetGValue函数获得像素的红色、绿色和蓝色通道值,这些值被强制转换为适合输出。最后,使用ReleaseDC函数释放显示上下文句柄。