Как искать изображение на экране в C #? - PullRequest
7 голосов
/ 12 февраля 2011

Я хочу найти изображение на экране, используя C # или другие языки .NET (например, powershell). Что-то вроде того, что я задаю местоположение изображения в файловой системе, и код рассматривает весь экран как изображение, и ищет изображение в файловой системе на большом изображении (экране), а затем возвращает положение изображения на экране. Я не могу найти такие вещи в классах .net.

Спасибо.

Ответы [ 2 ]

20 голосов
/ 12 февраля 2011

Это довольно специфическая проблема, поэтому вы не найдете ее в .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;
}

Найти изображение внутри изображения

См. Ответ на этот вопрос .

0 голосов
/ 01 июля 2015

Я создал программу, которая использовала lib i, закодированную в c #, которая будет возвращать значения x и y маленького изображения внутри большего изображения (скриншот), вы можете увидеть все детали здесь https://www.nulled.io/topic/22223-an-advanced-image-search-library-saeedsearchdll/

...