Screen API
Описание
IDroidScreenAPI предоставляет методы для анализа экрана устройства: поиск изображений, пикселей, получение скриншотов и управление захватом экрана.
Методы
FindImage
-
Rectangle FindImage(string imageHash, Rectangle[] rectangles, int confidenceInterval)
Выполняет поиск изображения по хэшу в указанных областях экрана.Параметры:
imageHash— хэш изображения, с которым производится сравнение;rectangles— массив областей (Rectangle), в которых выполняется поиск;confidenceInterval— точность совпадения (0–100, где больше — строже совпадение).
Возвращает:
Rectangle— область найденного изображения. -
Rectangle FindImage(string imageHash, Rectangle[] rectangles, int confidenceInterval, int searchTime)
Выполняет поиск изображения с ограничением по времени.Параметры:
imageHash— хэш изображения;rectangles— области поиска;confidenceInterval— точность совпадения;searchTime— максимальное время поиска в секундах.
Возвращает:
Rectangle— найденная область. -
Rectangle FindImage(string[] imageHashes, Rectangle[] rectangles, int confidenceInterval)
Выполняет поиск одного из нескольких изображений.Параметры:
imageHashes— массив хэшей изображений;rectangles— области поиска;confidenceInterval— точность совпадения.
Возвращает:
Rectangle— область первого найденного изображения. -
Rectangle FindImage(string[] imageHashes, Rectangle[] rectangles, int confidenceInterval, int searchTime)
Поиск одного из нескольких изображений с ограничением времени.Параметры:
imageHashes— массив хэшей;rectangles— области поиска;confidenceInterval— точность совпадения;searchTime— максимальное время поиска в секундах.
Возвращает:
Rectangle— найденная область.
Пример.
var screen = instance.DroidInstance.Screen;
var hash = project.Variables["imageHash"].Value; // Хэш эталонного изображения
var areas = new[] { new Rectangle(0, 0, 720, 1280) }; // Где искать - здесь весь экран
var found = screen.FindImage(hash, areas, 90); // Точность совпадения 90
if (found.IsEmpty)
throw new Exception("Изображение не найдено");
var waited = screen.FindImage(hash, areas, 90, 10); // Ждать появления до 10 секунд
FindImageBlackWhite
-
Rectangle FindImageBlackWhite(string imageHash, Rectangle[] rectangles, int confidenceInterval, int threshold)
Поиск изображения в чёрно-белом режиме.Параметры:
imageHash— хэш изображения;rectangles— области поиска;confidenceInterval— точность совпадения;threshold— порог бинаризации.
Возвращает:
Rectangle— область найденного изображения. -
Rectangle FindImageBlackWhite(string imageHash, Rectangle[] rectangles, int confidenceInterval, int threshold, int searchTime)
Ч/б поиск с таймаутом.Параметры:
imageHash— хэш;rectangles— области;confidenceInterval— точность;threshold— порог;searchTime— максимальное время поиска в секундах.
Возвращает:
Rectangle— область найденного изображения. -
Rectangle FindImageBlackWhite(string[] imageHashes, Rectangle[] rectangles, int confidenceInterval, int threshold)
Поиск нескольких изображений в ч/б.Параметры:
imageHashes— массив хэшей;rectangles— области;confidenceInterval— точность;threshold— порог.
Возвращает:
Rectangle— область найденного изображения. -
Rectangle FindImageBlackWhite(string[] imageHashes, Rectangle[] rectangles, int confidenceInterval, int threshold, int searchTime)
Ч/б поиск нескольких изображений с таймаутом.Параметры:
imageHashes— массив;rectangles— области;confidenceInterval— точность;threshold— порог;searchTime— максимальное время поиска в секундах.
Возвращает:
Rectangle— область найденного изображения.
Пример.
var screen = instance.DroidInstance.Screen;
var hash = project.Variables["imageHash"].Value; // Хэш эталонного изображения
var areas = new[] { new Rectangle(0, 0, 720, 1280) }; // Область поиска
var found = screen.FindImageBlackWhite(hash, areas, 90, 128); // Порог бинаризации 128
if (found.IsEmpty)
throw new Exception("Изображение не найдено");
FindImageGrayscale
-
Rectangle FindImageGrayscale(string imageHash, Rectangle[] rectangles, int confidenceInterval)
Поиск изображения в оттенках серого.Параметры:
imageHash— хэш;rectangles— области;confidenceInterval— точность.
Возвращает:
Rectangle— область найденного изображения. -
Rectangle FindImageGrayscale(string imageHash, Rectangle[] rectangles, int confidenceInterval, int searchTime)
Поиск grayscale с таймаутом.Параметры:
imageHash— хэш;rectangles— области;confidenceInterval— точность;searchTime— максимальное время поиска в секундах.
Возвращает:
Rectangle— область найденного изображения. -
Rectangle FindImageGrayscale(string[] imageHashes, Rectangle[] rectangles, int confidenceInterval)
Поиск нескольких изображений в grayscale.Параметры:
imageHashes— массив;rectangles— области;confidenceInterval— точность.
Возвращает:
Rectangle— область найденного изображения. -
Rectangle FindImageGrayscale(string[] imageHashes, Rectangle[] rectangles, int confidenceInterval, int searchTime)
Поиск grayscale с таймаутом.Параметры:
imageHashes— массив;rectangles— области;confidenceInterval— точность;searchTime— максимальное время поиска в секундах.
Возвращает:
Rectangle— область найденного изображения.
Пример.
var screen = instance.DroidInstance.Screen;
var hash = project.Variables["imageHash"].Value; // Хэш эталонного изображения
var areas = new[] { new Rectangle(0, 0, 720, 1280) }; // Область поиска
var found = screen.FindImageGrayscale(hash, areas, 90); // Сравнение в оттенках серого
if (found.IsEmpty)
throw new Exception("Изображение не найдено");
FindPixel
-
Point FindPixel(Color color, Rectangle[] rectangles, int variation)
Ищет пиксель заданного цвета.Параметры:
color— искомый цвет (Color);rectangles— области поиска;variation— допустимое отклонение цвета.
Возвращает:
Point— координаты найденного пикселя. -
Point FindPixel(Color color, Rectangle[] rectangles, int variation, int searchTime)
Поиск пикселя с ограничением времени.Параметры:
color— цвет;rectangles— области поиска;variation— отклонение цвета;searchTime— максимальное время поиска в секундах.
Возвращает:
Point— координаты найденного пикселя. -
Point FindPixel(string htmlColor, Rectangle[] rectangles, int variation)
Ищет пиксель по цвету в HTML-формате.Параметры:
htmlColor— цвет в формате строки (например#FF0000);rectangles— области поиска;variation— допустимое отклонение.
Возвращает:
Point— координаты найденного пикселя. -
Point FindPixel(string htmlColor, Rectangle[] rectangles, int variation, int searchTime)
Поиск HTML-цвета с таймаутом.Параметры:
htmlColor— цвет;rectangles— обла сти поиска;variation— отклонение;searchTime— максимальное время поиска в секундах.
Возвращает:
Point— координаты найденного пикселя.
Пример.
var screen = instance.DroidInstance.Screen;
var areas = new[] { new Rectangle(0, 0, 720, 1280) }; // Область поиска
var point = screen.FindPixel("#FF0000", areas, 10); // Красный пиксель, допуск 10
if (point.IsEmpty)
throw new Exception("Пиксель не найден");
var waited = screen.FindPixel(Color.Red, areas, 10, 10); // То же, но ждать до 10 секунд