Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: lojjjol on November 19, 2018, 04:20:13 PM
-
Можно ли сделать снимок участка экрана и записать его в массив, чтоб потом этот массив сравнивать с другими участками?
Сохранять кусочек скриншота на диск - не вариант. Именно нужно сделанный снимок запихивать в переменную/массив.
Реально ли вообще такое и как осуществить?
Заранее благодарен за ответ.
-
В переменную нельзя. Только через сохранение изображения.
И не имеет смысла, т.к. функций поиска с массивом данных в переменной (картинкой) у нас нет.
-
Все куда проще.
Функцией SCREENSHOTFIX сохраняем снимок в файл с определенным именем, при повторных сохранениях файл будет переписываться.
GETSCREEN
SCREENSHOTFIX(100,100, 150,150, "Image1.bmp", 0)
Затем ищем картинку где нужно.
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Image1.bmp", -1, 100) // Потом ищем его
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
-
Можно ли сделать снимок участка экрана и записать его в массив, чтоб потом этот массив сравнивать с другими участками?
Сохранять кусочек скриншота на диск - не вариант. Именно нужно сделанный снимок запихивать в переменную/массив.
Реально ли вообще такое и как осуществить?
Заранее благодарен за ответ.
Ну как вариант, можно записать в массив хешсумму и сравнивать ее с хешсуммами других участков экрана (но тут должны быть точные координаты). А что именно делать планируете?
-
То, что я "умышленно отказываюсь понимать", во-первых, утверждение изначально ложное.
Во-вторых, прискорбно, что вы, опытный пользователь данного софта, не понимаете одной простой вещи:
Не все пользователи данного кликера обязаны со старту, в первые дни использования, осознать весь функционал и программные возможности рассматриваемой среды разработки.
Вариант с подсчетом контрольной суммы пикселей решает задачу намного проще, чем попытки запихивания целого изображения в массив, верно. До поднятия этой темы я не догадывался, что такая функция есть и как она работает.
Исходя из этого выплыло использование ограничивающего и конкретизирующего "Именно...".
Подсказка была как раз, но то как вы это донесли - так себе.
А так, спасибо, данный вопрос я для себя решил.
Итог:
Если в скрипте нужна функция сравнения участков изображения на разность (не совпадение) или, сказать точнее, детектирование изменения изображения на экране, на базовом уровне это можно осуществить с помощью контрольных сумм, например PXLXOR и PXLXСRС..
Думаю, такая формулировка ответа может быть полезна для остальных новых пользователей форума и софта в целом.
В переменную нельзя.
Почему нельзя?
Можно хоть в переменную, хоть в массив, но практический смысл сего действа автор темы умышленно отказывается понимать, ибо способа " чтоб потом этот массив сравнивать с другими участками" у него явно нет.
-
Да, наверняка лучший из вариантов.
Спасибо)
Можно ли сделать снимок участка экрана и записать его в массив, чтоб потом этот массив сравнивать с другими участками?
Сохранять кусочек скриншота на диск - не вариант. Именно нужно сделанный снимок запихивать в переменную/массив.
Реально ли вообще такое и как осуществить?
Заранее благодарен за ответ.
Ну как вариант, можно записать в массив хешсумму и сравнивать ее с хешсуммами других участков экрана (но тут должны быть точные координаты). А что именно делать планируете?
-
Спасибо, наверняка из за непонятной формулировки вопроса было трудно понять, для каких целей это нужно было. Лучшим из вариантов оказался вариант использования контрольных сумм. Но еще раз спасибо за внимание к теме )
Все куда проще.
Функцией SCREENSHOTFIX сохраняем снимок в файл с определенным именем, при повторных сохранениях файл будет переписываться.
GETSCREEN
SCREENSHOTFIX(100,100, 150,150, "Image1.bmp", 0)
Затем ищем картинку где нужно.
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Image1.bmp", -1, 100) // Потом ищем его
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
-
Верно. Спасибо за ответ )
Удовлетворительный вариант решения проблемы - через контрольные суммы.
В переменные записываем контрольные суммы и их сравниваем.
В переменную нельзя. Только через сохранение изображения.
И не имеет смысла, т.к. функций поиска с массивом данных в переменной (картинкой) у нас нет.