如何在C#中查找屏幕上的图像?

10
我希望用C#或其他.NET语言(如PowerShell)搜索屏幕上的图像。就像我在文件系统中给出一个图像位置,代码将整个屏幕视为图像,并在大图像(屏幕)中搜索文件系统中的图像,然后返回屏幕上的图像位置。我在.NET类中找不到这种功能。
谢谢。

请您能否详细说明一下您的问题。当您提到“屏幕上出现图像”时,您具体是指什么?它是如何展示的,显示在哪里呢? - Darin Dimitrov
@Darin 我编辑了我的问题,请再次阅读以查看您是否理解我的问题。谢谢。 - Just a learner
2个回答

25

这是一个非常具体的问题,所以你在.NET Framework中找不到它。你应该将自己的问题分解成较小的部分:

从磁盘文件加载图像

使用System.Drawing.Image.FromFile()

获取屏幕截图

使用System.Drawing.Graphics.CopyFromScreen():

Bitmap CaptureScreen()
{
    var image = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb);
    var gfx = Graphics.FromImage(image);
    gfx.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
    return image;
}

查找图像中的图像

请参见此问题的答案


2
你应该将问题分解成较小的部分。加1分 :) - Steve B

0

链接已失效... - Hunv

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接