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

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

21. serdg3amec - 22 Марта, 2014 - 14:21:16 - перейти к сообщению
 Prusak пишет:
с каким разбросом ищешь картинку хп моба

ну боюсь тут тебе придется подбирать самому под свой моник. у меня примерно так

CODE:

int r=20; //отклонение цвета
pro=70; //процент совпадения
findimage(-1, #Image_0[0][0], 0, #x1[0], #y1[0], 0, 0, 1776, 1000, r, r, r, r, r, r, pro, 1, w);


а вобще, напиши простенький, отдельный скрипт с одной единственной функцией для поиска областей. и там проводи эксперименты c r и pro. например:

CODE:

/*естественно перед выполнением нужно все переменные прописать*/

getdisplay(color, xe, ye);//разрешение экрана
textbkcolor (8454143,255); //цвет текста и фона

poisk();
textout(0, 10, 10, "", 2);
resettextout(1);

function poisk()
{
int k=findimage(-1, #Image_0[0][0], 0, #x[0], #y[0], 0, 0, xe, ye, r, r, r, r, r, r, pro, 1, w);

int n=0;
cikl:
if (n<k)
{
mousemove(x[n], y[n]);//Переместить мышь на найденный объект.
textout(n, x[n]+10, y[n]+10 , format(n), 1);
n++;
goto cikl;
}

messagebox (format(k)+" объектов нашли"); //использовать по желанию
}

писал навскидку, если что подправишь ошибки.
22. Prusak - 23 Марта, 2014 - 06:49:50 - перейти к сообщению
serdg3amec спасибо за отзывчивость Улыбка . при просмотре скрипта возникли вопросы(я про них предупреждал Радость )
1. getdisplay(color, xe, ye) для чего это,если допустим я через пайнт найду координаты пикселей,потом при изменении разрешения экрана разве координаты не сменяться ?
2. mousemove(x[n], y[n]) откуда это берется ? findimage(-1, #Image_0[0][0], 0, #x[0], #y[0] отсюда ? если это от сюда то где это и как храниться?
3. mousemove(x[n], y[n]) анологично 2 вопросу,откуда, отсюда int n=0 или отсюда n++ как я понял это счетчик. счетчику обязательно n или может быть другая буква?
4.[n]-данные скобки обозначают масив ?
повторюсь я чайник в программировании,но мне это начинает нравиться Радость
(Добавление)
скрипт не тестировал так как не понимание его работы ни чего мне не даст Улыбка
23. serdg3amec - 23 Марта, 2014 - 13:20:11 - перейти к сообщению
 Prusak пишет:
1. getdisplay(color, xe, ye) для чего это,если допустим я через пайнт найду координаты пикселей,потом при изменении разрешения экрана разве координаты не сменяться ?
2. mousemove(x[n], y[n]) откуда это берется ? findimage(-1, #Image_0[0][0], 0, #x[0], #y[0] отсюда ? если это от сюда то где это и как храниться?
3. mousemove(x[n], y[n]) анологично 2 вопросу,откуда, отсюда int n=0 или отсюда n++ как я понял это счетчик. счетчику обязательно n или может быть другая буква?
4.[n]-данные скобки обозначают масив ?
повторюсь я чайник в программировании,но мне это начинает нравиться Радость
(Добавление)
скрипт не тестировал так как не понимание его работы ни чего мне не даст Улыбка

1. да, при смене разрешения экрана координаты будут естественно другие. выход - либо не менять разрешение Радость , либо писать в пропорциях к экранным размерам.
2. да, отсюда. х[n] и y[n] это массивы координат найденных изображений. #x[0], #y[0] это указатели на массивы. что такое указатели читай в справкек Кибору (раздел "Указатели"Подмигивание
3. ну понятно уже из 2 пункта. n - элемент массива можешь обозначить любой буквой или обращаться напрямую к элементу по его порядковому номеру в массиве, т.е. цифрой (например x[0] - первый элемент масс-а, x[1] - второй и т.д.)
4. угу Улыбка
(Добавление)
 serdg3amec пишет:
я через пайнт найду координаты пикселей
можно поподробней? Радость
24. Prusak - 23 Марта, 2014 - 13:39:33 - перейти к сообщению
 serdg3amec пишет:
можно поподробней?
гдето тут на форуме встречал...хмм..сча ссыль найду. не не найду, после ночной смены + пиво= думаю догадаешся Радость .в двух словах контрл+шифт+s в киборе,потом выделяю все изображение и сохраняю его.потом открываю картинку спомощью Paint не помню как в ХР но в семерке есть этот редактор.увеличиваеш в нем картинку на максимум, появляется крестик вместо курсора и картинка в квадратик(в пикселях).наведя курсор на кводратик в левом нижнем углу увидеш координаты Улыбка
25. serdg3amec - 23 Марта, 2014 - 13:58:19 - перейти к сообщению
 Prusak пишет:
в двух словах контрл+шифт+s в киборе
хмм. выделяешь нужное тебе изображение. сохраняешь его. и внизу, в киборе, будет написаны его размеры в пикселях. зачем пэинт? Подмигивание
26. Prusak - 23 Марта, 2014 - 23:46:05 - перейти к сообщению
речь вроде о координатах была,не ? Улыбка то что кибор размеры показывает я знаю,а можно ли с помощью его найти это getcolor(x,y,w) ?
(Добавление)
я короче так и не понял откуда взялось это mousemove(x[n], y[n]). скрипт данный выше тоже указывает на ошибку в этой строке
27. serdg3amec - 24 Марта, 2014 - 00:12:26 - перейти к сообщению
getdisplay, getcolor.. ты уж определись))
getdisplay - определить разрешение экрана
getcolor - цвет пикселя в указанных координатах.
28. Prusak - 24 Марта, 2014 - 00:19:05 - перейти к сообщению
 Prusak пишет:
1. getdisplay(color, xe, ye) для чего это,если допустим я через пайнт найду координаты пикселей для getcolor(x,y,w),потом при изменении разрешения экрана разве координаты не сменяться ?
вот так наверно пральней былобы Улыбка про ошибку выше,там надо было просто добавить указатель на окно. вопрос про n открытый Улыбка
29. serdg3amec - 24 Марта, 2014 - 00:20:14 - перейти к сообщению
 Prusak пишет:
я короче так и не понял откуда взялось это mousemove(x[n], y[n]). скрипт данный выше тоже указывает на ошибку в этой строке

ты эти переменные вначале скрипта описал? я ж спецом выделил /*естественно перед выполнением нужно все переменные прописать*/
там надо прописать переменные color, xe, ye, Image_0[][], x[], y[], r, pro, w..
если просто взять и скопировать приведенный пример он работать не будет.
зы. и еще раз повторю открой справку по кибору, прочитай ее. открой справку по всем функциям кибора, прочитай. 90% вопросов отпадут сами собой.

Powered by ExBB FM 1.0 Final