我正在C#上制作一个颜色选择器,我想要GetPixel函数,捕获我的所有窗口,这样我就可以用来捕获窗口上的任何颜色,无论它是什么窗口,(电子邮件,图像或其他任何东西)。
我该怎么做?
我有一个用于放置颜色的pictureBox。
答案 0 :(得分:1)
This blog post似乎提供了一个解决方案。实质上,您运行以下代码以从鼠标在屏幕上的任何位置获取颜色:
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