Видимо нужно объяснить для чего мне это нужно.
Начну с самого важного - с консолем я не знаком, конечно научиться можно, а иногда и необходимо - главное знать что тебе нужно, в данный момент мне понадобилось просто клацать на кнопки (я так понимаю что это можно сделать только через стороннюю программу? - пробежался по названию команд консоля - не чего не увидел вроде mouse, click).
Пробовал разные делать запросы к поисковику типа: "управление uopilot из командной строки" - не чего нужного не нашел, видимо не так искал.
Вопрос: Я пишу не правильно свою задачу в поиске? Как правильно нужно писать?
Я вам простой пример приведу что хочу сделать (конечно данный пример не много странноват, из-за какой то игры для детского сада писать вычисления, искать ответы на форуме), нажатие на кнопки мне понадобится в дальнейшем для разных целей (сейчас мне просто нужно понять - как это сделать).
Разберем мой простенький скрипт который я написал вчера за 10 минут ради забавы, данный скрипт узнает отличие между двумя изображениями, так как изображения точь в точь одинаковые кроме некоторых частей картинки "скрипт работает" - если бы изображение не много отличались (допустим яркость или цветность отличалось - то можно было преобразовать в черно белое изображение, либо +- цветность проверять а не ==, вообщем не важно что, для флеш игры "Найди отличие" он работает)
sleep(1);
$image=imagegrabscreen();
$png=imagecreatetruecolor(450, 396);
imagealphablending($png, false);
imagesavealpha($png, true);
$arr=array();
$arr2=array();
$height=0;
for($h=280; $h<676; $h++){
$width=0;
for($w=492; $w<942; $w++){
$rgba=imagecolorat($image, $w, $h);
$arr_rgba=imagecolorsforindex($image, $rgba);
$arr[]=array($arr_rgba['red'],$arr_rgba['green'],$arr_rgba['blue'],$height,$width);
$width++;
}
$height++;
}
for($h=280; $h<676; $h++){
for($w=962; $w<1412; $w++){
$rgba=imagecolorat($image, $w, $h);
$arr_rgba=imagecolorsforindex($image, $rgba);
$arr2[]=array($arr_rgba['red'],$arr_rgba['green'],$arr_rgba['blue']);
}
}
foreach($arr as $key => $value){
if(!isset($arr2[$key]) OR $arr2[$key][0]!=$value[0] OR $arr2[$key][1]!=$value[1] OR $arr2[$key][2]!=$value[2]){
$color=imagecolorallocatealpha($png,240,28,15,0);
}else{
$color=imagecolorallocatealpha($png,$arr2[$key][0],$arr2[$key][1],$arr2[$key][2],0);
}
imagesetpixel($png, $value[4], $value[3], $color);
}
header('Content-Type: image/png');
imagepng($png);
imagedestroy($png);
imagedestroy($image);
Смотрим, sleep(1) - ожидание 1 секунда чтоб я успел переключиться между окнами в браузере (первое окно запуск скрипта, второе игра).
После ожидания делается скриншот экрана (за одну секунду я успеваю переключиться на игру найди отличия), скрипт делает снимок экрана и далее следует разбор.
Первый цикл - это разбор первой картинки + добавления координат x y где должен высвечиваться данный пиксель (то есть - как мы видим for начинается не с 0, зачем нам весь экран сравнивать, да и вообще памяти бы нехватило - экран 1920x1080 каждый пиксель добавлять в массив - огого сколько бы gb оперативы понадобилось, мы только небольшую часть экрана будем сканировать "саму картинку" )
Второй цикл - это вторая картинка на которой нужно найти отличия.
Далее идет разбор массива и вычисление разницы цветов, если цвет == цвет второго изображения в определенном пикселе то цвет остается не измененным, если не равен изменяем на красный ("почти красный, чтоб глаза не напрягал сделал не много тусклее").
После этого вывод на экран обработанного изображения.
В данном случае мне понадобился кликер для того чтоб автоматизировать работу еще и клика по частям картинки смотря где цвета различаются.