Вверх ↑
Ответов: 35
Рейтинг: -1
#1: 2017-05-26 13:39:30 ЛС | профиль | цитата
Vadimluk1 писал(а):
Держите
http://lunnyy1svet.hopto.org/Загрузка/Project8.sha

Редактировалось 1 раз(а), последний 2017-05-26 12:56:16


Спасибо большое ищет бесконечно долго)

Тестировал вот на этом
тестовая картинка

Ваша схема на HiAsm:
Результата так и не дождался
Результат Хаясма - Неизвестен

А вот Быстрый поиск! но нужно что то типа этого на Hiasm.

Код Autoit для быстрого поиска

#include "FastFind.au3" ; подключаем библиотеку быстрого поиска

HotKeySet("{F2}", "FindSpot") ; Горячая клавиша - начать поиск
HotKeySet("{ESC}", "End") ;Горячая клавиша - остановить поиск

Global $color = "0xFF0000"; 0xFF0000 - цвет который ищем (ПРИМЕР)

$hwnd = WinGetHandle("тэст.bmp - Paint") ; окно в котором ищем
WinSetState($hwnd, "",@SW_RESTORE) ; развернуть если свернуто
FFSnapShot(0, 0, 0, 0, 0, $hwnd) ; скрин
opt("MouseCoordMode", 2) ; Устанавливает способ отсчёта координат используемый в функциях мыши, -
; -или абсолютные координаты или координаты относительно текущего активного окна

While 1 ; цикл
Sleep(10) ; ждем в цикле нажатие F2 чтобы начать или ESC чтобы закончить
WEnd

Func FindSpot() ; функция которая ищет пиксель(и) указанного цвета
$Timer = @MSEC ; засекаем время
WinActivate($hwnd) ; Активирует указанное окно (передаёт ему фокус). В нашем случае - Безымянный - Paint
$aCoords = FFNearestSpot(10 , 10, 254, 382, $color, 0 ,False,0,146,522,665) ;ищем темно-красный пиксель и заносим найденные в архив $aCoords
If Not @error Then ; если нет ошибки то.......
$Timer1 = @MSEC ; смотрим время по окончании поиска
$Timer2 = ($Timer1 - $Timer) ; вычисляем разницу - выводим время затраченное на поиск
ConsoleWrite("Время поиска = "&$Timer&"-ms " &" Координата пикселя = "&$aCoords[0]&", "&$aCoords[1]&", Количество найденных = "&$aCoords[2]&@CRLF) ; пишем в консоль сколько нашли пикселей и в каких координатах
MouseMove($aCoords[0], $aCoords[1], 5) ; Ставим курсор мыши на найденный пиксель
Else ; в противном случае
ConsoleWrite("Ничего не нашли."&@CRLF) ; пишем в консоль что не нашли
EndIf ; закончили
EndFunc

Func End() ; функция для остановки и выхода
Exit
EndFunc

Результат Автоита - Время поиска = 494-ms Координата пикселя = 442, 602, Количество найденных = 24

Кому интересны подробности по Автоиту пишите спрашивайте.
В свою очередь надеюсь на взаимную помощь по Хаясму.

Нужели в таком мощном инструменте HiAsm для разработки приложений нет ничего подобного?
карма: -4
Нечего сказать по делу? Просто проходим на natribu.org
0
Редактировалось 16 раз(а), последний 2017-05-26 17:05:13