xybf 2022-10-01 11:35 采纳率: 50%
浏览 21

GetPixel()返回0

问题遇到的现象和发生背景

GetPixel函数一直返回0

用代码块功能插入代码,请勿粘贴截图
#include <Windows.h>
#include <stdlib.h>
#include <stdio.h>
#include <string>

POINT mp;
COLORREF clr;
HWND hWnd;
HDC hdc;

int main(void)
{
    for(;;)
    {
        if(KEY_DOWN('Q'))
            SetCursorPos(200, 700);
        if(KEY_DOWN('W'))
        {
            hWnd = FindWindow(NULL, "无标题 - 画图");
            hdc = ::GetDC(hWnd);
            GetCursorPos(&mp);
            COLORREF clr = ::GetPixel(hdc, mp.x, mp.y);
            if(clr == CLR_INVALID)
                printf("Invalid!\n");
            int r = GetRValue(clr);
            int g = GetGValue(clr);
            int b = GetBValue(clr);
            printf("Pos : (%ld,%ld) Color : %#lx (%d,%d,%d)\n", mp.x, mp.y, clr, r, g, b);

        }
        Sleep(10);
    }
    ::ReleaseDC(NULL, hdc);
}
运行结果及报错内容

一直输出颜色为(0,0,0)

我想要达到的结果

获得正确的颜色值

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-10-01 11:52
    关注

    你检查一下hwnd是不是为空啊

    评论

报告相同问题?

问题事件

  • 修改了问题 10月1日
  • 创建了问题 10月1日

悬赏问题

  • ¥15 找一个QT页面+目标识别(行人检测)的开源项目
  • ¥15 有没有整苹果智能分拣线上图像数据
  • ¥20 有没有人会这个东西的
  • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
  • ¥30 航迹分离,航迹增强,误差分析
  • ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败
  • ¥15 用Ros中的Topic通讯方式控制小乌龟的速度,走矩形;编写订阅器代码
  • ¥15 LLM accuracy检测
  • ¥15 pycharm添加远程解释器报错
  • ¥15 如何让子窗口鼠标滚动独立,不要传递消息给主窗口