C#做一些基于图像检测的事情

C# do something based on image detection

我正在用 C# 编写程序。如果在屏幕上检测到图像,我希望它做一些事情。例如,假设我正在制作游戏机器人。我的健康状况是我屏幕上充满绿色的图像,如下所示:

FULL HP BAR

有些东西让我的生命值达到了这个水平:

TAKEN HP BAR

如果 C# 检测到拍摄了 hp 的图像,请执行某些操作...这可能吗?我该怎么做?谢谢

我为游戏编写了机器人。要检测寿命何时变低,您可以扫描特定像素颜色并使用样本值对其进行测试(例如,您可以捕获矩形中间的像素,如果它是绿色,则寿命超过一半)。

我还做了截图,剪了一些区域,然后保存为位图。在一个游戏中我加载了它们,然后我每秒截屏并检查其中一些位图是否出现在屏幕截图中。

要在 C# 中捕获屏幕,您可以使用 Graphics 的 CopyFromScreen 方法:

var screen = new Bitmap(Screen.PrimaryScreen.Bounds.Width,
                        Screen.PrimaryScreen.Bounds.Height,
                        PixelFormat.Format32bppArgb);
var graphics = Graphics.FromImage(screen );
graphics.CopyFromScreen(Screen.PrimaryScreen.Bounds.X,
                        Screen.PrimaryScreen.Bounds.Y,
                        0, 0,
                        Screen.PrimaryScreen.Bounds.Size,
                        CopyPixelOperation.SourceCopy);