obm |
Отправлено: 16 Февраля, 2014 - 12:24:12
|
Наблюдатель
Покинул форум
Сообщений всего: 47
Дата рег-ции: Янв. 2014
Репутация: 1
|
findcolor(-1, #x[0], #y[0], 809, 55, 1105, 73, 1124919, -1);
почему-то иногда возвращает -1, когда пиксели нужного цвета точно есть, возможно, когда вся зона этого цвета.
(Добавление)
при этом строка у меня находит цвет, где его быть не должно, очень странно findcolor(-1, #x[0], #y[0], 60, 65, 280, 66, 1124919, -1); |
|
|
Kibor |
Отправлено: 16 Февраля, 2014 - 15:38:35
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
obm пишет: findcolor(-1, #x[0], #y[0], 809, 55, 1105, 73, 1124919, -1);
почему-то иногда возвращает -1, когда пиксели нужного цвета точно есть, возможно, когда вся зона этого цвета.
findcolor возвращает количество найденых пикселей
Или -1 если массив приемника меньше по X
-2 размер массива приемника меньше по Y
Увеличьте размер массивово x y или в первом параметре укажите не -1 искать все, а укажите число равное размерности массивов..
obm пишет: при этом строка у меня находит цвет, где его быть не должно, очень странно findcolor(-1, #x[0], #y[0], 60, 65, 280, 66, 1124919, -1);
Странно. Проверьте внимательно что и где находит. |
|
|
obm |
Отправлено: 17 Февраля, 2014 - 17:49:07
|
Наблюдатель
Покинул форум
Сообщений всего: 47
Дата рег-ции: Янв. 2014
Репутация: 1
|
Kibor пишет: findcolor возвращает количество найденых пикселей
Или -1 если массив приемника меньше по X
-2 размер массива приемника меньше по Y
спасибо, попробую
(Добавление)
функция работает явно с ошибкой, находит мне тысячи точек в области:
i=findcolor(-1, #x_color[0], #y_color[0], 5, 15, 35, 45, 1124919, -1);
поиск идет по всему экрану(Отредактировано автором: 17 Февраля, 2014 - 17:50:05) |
|
|
Kibor |
Отправлено: 17 Февраля, 2014 - 18:26:54
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
obm пишет: функция работает явно с ошибкой, находит мне тысячи точек в области:
i=findcolor(-1, #x_color[0], #y_color[0], 5, 15, 35, 45, 1124919, -1);
Цитата: int i;
int x_color[99999], y_color[99999];
i=findcolor(-1, #x_color[0], #y_color[0], 5, 15, 35, 45, 1124919, -1);
messagebox (i);
Выполните только код этот. |
|
|
|