参考自:https://blog.csdn.net/bjbz_cxy/article/details/80762469
#include<wingdi.h> //与下一行一起,是GetPixel的头文件
#pragma comment(lib, "gdi32.lib")
void GetColor()
{
POINT Mouse_x_y;
if (FALSE == GetCursorPos(&Mouse_x_y)) //获取鼠标座标
{
printf("error:无法获取鼠标指针位于屏幕的座标值");
}
HDC hdc = GetDC(NULL);
COLORREF Windows_Hdc_RGB = GetPixel(hdc, Mouse_x_y.x, Mouse_x_y.y);
int r = GetRValue(Windows_Hdc_RGB);
int g = GetGValue(Windows_Hdc_RGB);
int b = GetBValue(Windows_Hdc_RGB);
qDebug() << Mouse_x_y.x << Mouse_x_y.y << r << g << b;
}
与定时器或者MouseMoveEvent事件结合,可根据需求获取鼠标位置的RGB值。
#pragma comment(lib, "gdi32.lib")表示引用gdi32这个库,在msvc编译器可正常运行,但是mingw编译器无法引用,改为在pro文件中增加
LIBS += -lgdi32
可正常运行。