我需要我的程序“看到”不同的颜色。
几乎所有我需要的是一个函数,它通过使用 x 坐标和 y 坐标来告诉我屏幕上单个像素的颜色。我希望有这样的功能:P
输入坐标。
string color;
TellColor(126, 1024, color);
cout << color;
颜色出来了。 绿色
虽然我做了一些搜索,但我发现了一个名为 GetPixel 的很棒的函数,但据我所知,它只能从图像文件中辨别颜色。如果我错了,请纠正我。
感谢任何帮助。
最佳答案
希望对你有帮助
GetPixel 函数检索像素的红、绿、蓝 (RGB) 颜色值 指定坐标处的像素。
COLORREF GetPixel(
HDC hdc, // handle of device context
int XPos, // x-coordinate of pixel
int nYPos // y-coordinate of pixel
);
参数
hdc
标识设备上下文。
nXPos
指定要检查的像素的逻辑 x 坐标。
nYPos
指定要检查的像素的逻辑 y 坐标。
返回值
如果函数成功,返回值是一个RGB值。如果像素在 当前裁剪区域,返回值为 CLR_INVALID。 备注
像素必须在当前裁剪区域的边界内。 并非所有设备都支持 GetPixel。应用程序应调用 GetDeviceCaps 来确定 指定设备是否支持此功能。
另见
GetDeviceCaps, SetPixel
关于c++ - 色盲一个c++程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9821510/