Тонкости использования IF_PICTURE_IN

Для того чтобы “визуально” работать с экраном Clickermann-у, как и большинству других аналогичных программ, нужно сделать снимок экрана и поместить его в свой графический буфер. Снимок делается с помощью команды GETSCREEN. Если эта команда не содержит в параметрах координат, то Clickermann помещает в буфер скриншот всего экрана. Если же указаны координаты, так – GETSCREEN (x1, y1, x2, y2 ), то кликер поместит в графический буфер скриншот, сделанный в рамках указанных координат.

Когда после GETSCREEN (например, в следующей строке) вы используете команду COLORMODE и указываете режим COLORMODE(5), то в буфер Clickermann поступает не та картинка, что в данный момент находится на вашем экране, а измененная, в зависимости от режима в команде COLORMODE. Понять можно, поэкспериментировав со следующим кодом. Только предварительно сохраните его в какой-нибудь папке.

Скачать Clickermann

GETSCREEN // помещаем в свой графический буфер скриншот экрана
COLORMODE(3) // применяем к этому скриншоту режим COLORMODE
SCREENSHOTFIX(0,0, $_xmax,$_ymax, "file.bmp") // сохраняем скриншот из буфера, в папку, в которой сохранен этот скрипт
HALT // останавливаем скрипт 

Когда скрипт отработает, в папке, где он сохранен, появится скриншот экрана. Посмотрите этот скриншот. Потом установите в скрипте другой режим, например, COLORMODE(6), снова запустите и посмотрите скрин. Оцените разницу между первым скрином и вторым. Увидев разницу, вы поймете, как работает COLORMODE.

Поиск по изображению

После получения скрина экран и помещения его в графический буфер кликер готов приступить к анализу скриншота. В нашем случае будем искать приготовленную картинку на скриншоте, который находится в буфере Clickermann-а. Важно знать, что заготовка картинки, которую будете искать, должна быть сделана в том же режиме COLORMODE, который кликер применял к скриншоту экрана, при помещении его в буфер.

Поиск изображения выполняет оператор IF_PICTURE_IN. В переводе с английского это выглядит примерно так – ЕСЛИ_КАРТИНКА_В.

Рассмотрим следующую команду:
IF_PICTURE_IN(0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // IF_PICTURE_IN - оператор поиска изображений
// 0,0, $_xmax,$_ymax - координаты, в которых кликер будет искать картинку
// file.bmp - изображение, которое мы будем искать
Далее мы должны использовать оператор END_IF, закрывающий условие IF_PICTURE_IN
Еще один оператор, который можно использовать, это ELSE. С английского языка его можно перевести как ИНАЧЕ. Блок после этого оператора выполнятся, когда не выполнено основное условие.
GETSCREEN // получаем скриншот экрана
COLORMODE(3) // применяем к нему COLORMODE
IF_PICTURE_IN(0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // поиск изображения
  // здесь прописываем команды на случай, если картинка найдена
ELSE // условия для "иначе"
  // Тут прописываем действия, если картинка не найдена
END_IF // конец условия

Далее вы можете вырезать из общего скриншота экрана фрагмент, который в будущем нужно искать и задать этот фрагмент для поиска в команде поиска IF_PICTURE_IN.

Понравилась статья? Поделиться с друзьями:
CLICKERMANN

Комментарии:

Добавить комментарий

* Нажимая на кнопку "Отправить комментарий" Вы соглашаетесь с политикой конфиденциальности.