Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Проблемы с findimage(). Перестает искать изображения.

Страниц (1): [1]
 

1. derx2012 - 21 Февраля, 2018 - 08:25:31 - перейти к сообщению
Возникла проблема. Возможно есть решение, использую findimage для поиска изображений в определенном окне. В моем случае это эмулятор андроид memu. С начала все хорошо работает, изображения ищет, но после поиска некоторого количества изображений, около 20, перестает их искать. Не понял Помогает перезапуск самого эмулятора. Тогда снова ищет.
2. Kibor - 21 Февраля, 2018 - 08:27:03 - перейти к сообщению
Ищется как? С разбежностью?
3. derx2012 - 21 Февраля, 2018 - 08:30:02 - перейти к сообщению
-
(Добавление)
 Kibor пишет:
Ищется как? С разбежностью?


вот фунцию набросал, через нее поиск и клик
PHP:
function clickImg(string path,int precent,int wait,int type){
sleep(100);
int timer = 0;
int loadImg[100][100];
for(int i = 0;i < 1; i=i){
int loadImageResult = loadimage(#loadImg[0][0], path);
if(loadImageResult > 0){
int x[1],y[1];
activate(androidEmulator);
int findImageResult = findimage(1, #loadImg[0][0], 0, #x[0], #y[0], 0, 0, androidEmulator.widthclient, androidEmulator.heightclient, 0, 0, 0, 0, 0, 0, precent, 1, androidEmulator);
if(findImageResult > 0){
//messagebox("imd");
if(type == 1){
sendmouse(LEFT, x[0]+imagewidth(#loadImg[0][0])/2, y[0]+imageheight(#loadImg[0][0])/2, androidEmulator);
}else if(type == 2){
sendmousedown(LEFT, x[0]+imagewidth(#loadImg[0][0])/2, y[0]+imageheight(#loadImg[0][0])/2, androidEmulator);
sleep(1000);
sendmouseup(LEFT, x[0]+imagewidth(#loadImg[0][0])/2, y[0]+imageheight(#loadImg[0][0])/2, androidEmulator);
}
return 1;
i = 1;
}
}
sleep(500);
if(timer >= wait){
return 0;
i = 1;
}
timer = timer + 500;
}

}


С разбежностью, обычно 90% ставлю. Функция принимает путь к картинке, разбежность, время поиска и в конце вид нажатия на нее.
4. Kibor - 21 Февраля, 2018 - 08:41:13 - перейти к сообщению
для начала надо проверить как кибор видит окно эмулятора когда перестает искать
 Цитата:
win w=..................
int SSSSS[1000][1500];

screen (#SSSSS[0][0], 0, 0, w.widthclient, w.heightclient, w);
saveimage(#SSSSS[0][0], "C:\11111.bmp");

(Добавление)
Исправил код..
5. derx2012 - 21 Февраля, 2018 - 08:47:44 - перейти к сообщению
 Kibor пишет:
для начала надо проверить как кибор видит окно эмулятора когда перестает искать
 Цитата:
win w=..................
int SSSSS[1000][1500];

screen (#SSSSS[0][0], 0, 0, w.widthclient, w.heightclient, w);
saveimage(#SSSSS[0][0], "C:\11111.bmp"Подмигивание;

(Добавление)
Исправил код..

До зависания

После

(Добавление)
Еще заметил, что при отправке текста в коно через sendtext, оно перестает принимать текст и работать, при попытке сделать скриншот через ваш код, результат даже открыть нельзя для просмотра
(Добавление)
Мне кажется вся проблема с sendtext, я помимо поиска и нажатия еще вбил текст с помощью этой функции. После пары раз использования sendtext, окно вообще не реагирует на кибор, ни поиск изображений, ни ввод текста. Пробовал просто вводить текст, перестает отвечать после 2 раз. Пробовал sendkey и key вводятся только цифры, буквы игнорирует, но вроде не подвисает. Запустил в цикле поиск и нажатие на изображения, вроде не зависло
6. Kibor - 21 Февраля, 2018 - 13:16:25 - перейти к сообщению
(для просмотра ссылки Вам необходимо авторизоваться) пункт 13
у всех эмуляторов такие заморочки.
а вообще работайте с эмуляторами в режиме экран.
7. derx2012 - 21 Февраля, 2018 - 13:56:19 - перейти к сообщению
 Kibor пишет:
(для просмотра ссылки Вам необходимо авторизоваться) пункт 13
у всех эмуляторов такие заморочки.
а вообще работайте с эмуляторами в режиме экран.


Там нету пункта 13. Проблем с findimage вроде нету. Проблема с sendtext,senkey,key, первый вообще портит окно эмулятора, после чего оно не работает как нужно. 2ой и 3ий не пишут буквы. Можно как то исправить это?
8. Kibor - 21 Февраля, 2018 - 14:25:56 - перейти к сообщению
 derx2012 пишет:
Там нету пункта 13
)) 12
эмуляторы вещь не хорошая для кибор, да и для других. я с ними работаю экраном.
key
9. derx2012 - 21 Февраля, 2018 - 14:35:02 - перейти к сообщению
 Kibor пишет:
 derx2012 пишет:
Там нету пункта 13
)) 12
эмуляторы вещь не хорошая для кибор, да и для других. я с ними работаю экраном.
key

Печально, по моему key тоже не работает. Ладно спасибо за помощь
10. Kibor - 21 Февраля, 2018 - 14:58:57 - перейти к сообщению
Должен.
Вы с изображением так работайте
 Цитата:
win w=..........;
screen (#SSSSS[0][0], w.leftclient, w.topclient, w.leftclient+w.widthclient, w.topclient+w.heightclient, -1);
saveimage(#SSSSS[0][0], "C:\11111.bmp");

и все будет ок

Powered by ExBB FM 1.0 Final