在窗口中的屏幕上获取坐标像素数据的简单方法
Simple way to get pixel data of coordinate on screen in windows
我正在寻找一种简单的方法来获取Windows 8操作系统屏幕上任何给定坐标的rgb值。这是为了让程序处理并尝试在屏幕上查找模式和对象,所以我所需要的只是将收集的数据放入数组中。最好的情况是像 getPixelData(int x, int y)
这样的函数,然后返回颜色数据。我将在Visual Studio 2008中编译最终程序。我发现没有其他问题适合这个确切的问题,因为他们似乎主要谈论将数据写入图像文件,或者他们没有解释文件在哪里用于访问数据的机制。这是一个没有给我我正在寻找的确切答案的问题,只是为了把我的问题放在上下文中。如何从窗口中获取像素数据\像素缓冲区并提取RGB?如果有人可以帮助我解决这个问题,将不胜感激,如果没有简单的解决方案,那么我可以做一些更难的事情。另外,如果您需要有关我的问题的更多信息,请询问。我没有发布任何源代码,因为我只是在寻找代码的补充,而不是修复预先存在的代码中的任何内容。
你在给出的链接中有一个很好的答案。最简单的方法是使用
COLORREF GetPixel(
HDC hdc,
int nXPos,
int nYPos
);
要获取屏幕HDC
您可以使用它以及如何从COLORREF
获取 RGB 值是此处描述的。
更有效的方法是使用位图一次获取整个屏幕,这在您提供的链接中也有描述,但您可以在此处找到更"友好"的方法。
相关文章:
- OpenGL - 每个三角形的像素数不正确
- C++ 在给定像素数据数组的表单上绘制矩形
- 从位图提取像素数据的问题
- 如何在 sfml 中使用图像中的像素数组
- 如何将 QImage 中的像素数据转换为其他格式
- 如何将CImg函数与像素数据一起使用?
- 将原始像素数据转换为qpixmap
- qimage:如何正确破坏指向像素数据的指针
- 如何通过 c++ 获取图像的所有像素数据 (RGB)
- 如何从窗口中获取像素数据像素缓冲区并提取RGB
- 设备定位的像素数组(从 C++ AMP)到 使用 D3D / D2D 的窗口
- SetPixel在像素数量后崩溃
- I'm试图将像素数据转换为OpenCV Mat对象
- 使用opencv将像素数据分配到向量中
- 如何在 c++ 中最有效地将像素数组呈现到窗口
- 将浮点像素数据从文件中读回 C#
- 在窗口中的屏幕上获取坐标像素数据的简单方法
- 有没有办法在不复制所有像素的情况下将现有的像素数组转换为位图
- 在 C 或 C++ 中将 JPEG 或 PNG 图像作为像素数据打开
- 如何写入原始像素数据并另存为位图