首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取x,y处的像素颜色

获取x,y处的像素颜色
EN

Stack Overflow用户
提问于 2016-01-30 05:20:55
回答 1查看 184关注 0票数 0

我以前见过很多人问这个问题,但它似乎没有真正回答我的问题,我不敢问别人的问题。我尝试在窗口的(100,100)处获得像素颜色。目前我可以通过使用pixelsearch autoit获得它,但当它上面有另一个窗口时,它就不起作用了。所以我想知道有没有办法让它工作

代码语言:javascript
运行
复制
                  au3.Sleep(1000);
                  SetForegroundWindow(hwndMain);
                  au3.PixelSearch(127, 232, 127, 232, 0x030100);
                  if (au3.error != 1)
                  {
                      SendMessage(hwndMain, WM_LBUTTONDOWN, new IntPtr(MK_LBUTTON), CreateLParam(127, 232));
                      SendMessage(hwndMain, WM_LBUTTONUP, new IntPtr(MK_LBUTTON), CreateLParam(127, 232));
                      au3.Sleep(1000);
                      //i++;
                  }
EN

回答 1

Stack Overflow用户

发布于 2016-01-30 05:33:14

你知道Schrödinger的猫吗?

这里的要点是,像素没有明确的颜色,而窗口的那部分是不可见的。在Windows中,控件的内容是根据操作系统的请求绘制的。当操作系统知道窗口的一部分不可见时,它不会要求窗口绘制该区域。

您可以使用PrintWindow() Windows API函数来要求窗口将自身绘制到设备上下文(例如位图)上。然后,您可以检查该位图中的像素。

如何嵌入和使用PrintWindow()函数请参见http://www.pinvoke.net/default.aspx/user32.printwindow

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35094262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档