c++ - 在 C++ 中获取像素颜色

标签 c++ windows winapi rgb pixel

我想获取屏幕上不同 x、y 坐标处像素的 RGB 值。 我将如何在 C++ 中解决这个问题?

我正在尝试创建自己的高斯模糊效果。

这将在 Windows 7 中。

编辑

需要包含哪些库才能运行?

我要做的事情:

#include <iostream>

using namespace std ;

int main(){

    HDC dc = GetDC(NULL);
    COLORREF color = GetPixel(dc, 0, 0);
    ReleaseDC(NULL, dc);

    cout << color; 

}

最佳答案

您可以在 NULL 窗口上使用 GetDC 来获取整个屏幕的设备上下文,然后可以调用 GetPixel:

HDC dc = GetDC(NULL);
COLORREF color = GetPixel(dc, x, y);
ReleaseDC(NULL, dc);

当然,为了提高效率,您希望在进行所有像素读取时只获取和释放一次设备上下文。

关于c++ - 在 C++ 中获取像素颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4839623/

相关文章:

c++ - 是否可以使用 C++11 的 for 循环从 vector 中删除?

windows - Web Service、WCF 和 Window Service 有什么区别?

C语言,串口阅读器

winapi - 程序化桌面图标放置

c++ - 更改可警告/可等待线程的上下文

c++ - set::end++ 的值是多少?

c# - 将 C char[][] 数组编码到 C#

c++ - SetWindowsHookEx + WH_CBT 不起作用?或者至少不是我认为应该的方式?

c++ - Win32 应用程序中的绘图问题

c++ - 使用 minGW 构建 Boost