我在C#上做了一个颜色select器,我想要GetPixel函数捕获我所有的窗口,这样我就可以在窗口上捕获任何颜色,不pipe窗口是什么窗口(电子邮件,图像或任何东西其他)。
我怎样才能做到这一点?
我有一个pictureBox把颜色。
这篇博文似乎提供了一个解决方案。 实质上,您可以运行以下代码以获取鼠标在屏幕上的任何位置的颜色:
IntPtr hdc = GetDC(IntPtr.Zero); uint pixel = GetPixel(hdc, currentPoint.X, currentPoint.Y); ReleaseDC(IntPtr.Zero, hdc); Color color = Color.FromArgb((int)(pixel & 0x000000FF), (int)(pixel & 0x0000FF00) >> 8, (int)(pixel & 0x00FF0000) >> 16);
我不知道我应该在这里复制多少,但如果你从这个页面下载源代码,它应该回答你的一堆问题。
而且,如果这不起作用,请看看这个答案: https : //stackoverflow.com/a/1483963/1043380