好的,所以我试图在这里稍微提高一点,我想要学习的一件事就是从屏幕上的某个位置获取像素颜色或数据。我搜索了很多,但似乎大多数人都希望用c或c ++来做。
我制作一个程序,扫描屏幕上某个颜色的位置。如果该位置包含橙色的任何内容,那么我窗口中的数字将变为1表示为true,0表示为false。 我的窗口背景是透明的,如果这很重要的话。
我只遇到过Graphics.CopyFromScreen()和bitmap.GetPixel();
由于
答案 0 :(得分:0)
请参阅以下参考资料,我认为这就是您所需要的:
http://www.codeproject.com/Articles/24850/Geting-pixel-color-from-screen-shoot-image
答案 1 :(得分:0)
要从屏幕捕获特定矩形,请使用以下代码
public Bitmap CaptureFromScreen(Rectangle rect)
{
Bitmap bmpScreenCapture = null;
if (rect == Rectangle.Empty)//capture the whole screen
{
rect = Screen.PrimaryScreen.Bounds;
}
bmpScreenCapture = new Bitmap(rect.Width,rect.Height);
Graphics p = Graphics.FromImage(bmpScreenCapture);
p.CopyFromScreen(rect.X,
rect.Y,
0, 0,
rect.Size,
CopyPixelOperation.SourceCopy);
p.Dispose();
return bmpScreenCapture;
}
要获取颜色从特定位置使用功能
public Color GetColorFromScreen(Point p)
{
Rectangle rect = new Rectangle(p, new Size(2, 2));
Bitmap map = CaptureFromScreen(rect);
Color c = map.GetPixel(0, 0);
map.Dispose();
return c;
}