1

我在 C# 上做一个颜色选择器,我想要 GetPixel 函数,捕获我所有的窗口,所以我可以用来捕获我的窗口上的任何颜色,不管它是什么窗口,(电子邮件、图像或任何东西别的)。

我怎样才能做到这一点?

我有一个图片框来放颜色。

4

1 回答 1

1

这篇博文似乎提供了一个解决方案。本质上,您运行以下代码以从鼠标在屏幕上的任何位置获取颜色:

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

于 2013-06-04T02:36:03.370 回答