Русское сообщество AutoIt

  • Май 23, 2013, 10:26:54 *
  • Добро пожаловать, Гость
Пожалуйста, войдите или зарегистрируйтесь.

Войти
Расширенный поиск  

Новости:

Создан файловый архив для участников форума.

Закачивайте свои файлы и получайте рейтинг, прямые ссылки, и т.п.

Для изображений и скриншотов по прежнему есть AUTOIT.RV.UA

Реклама

Автор Тема: поиск группы точек через PixelSearch()  (Прочитано 912 раз)

0 Пользователей и 1 Гость смотрят эту тему.

MadMNN [?]

есть диапазон точек где нужно найти определенный элемент


Код: AutoIt [Выделить]
PixelSearch(0, 0, 100, 100 , 0xADCF94)
If Not @error Then
EnterUro($coord)
EndIf

Func EnterUro($coord_) ;тут ищем сетку правилных точек
    $coord0 = PixelSearch($coord_[0], $coord_[1], $coord_[0], $coord_[1] , 0xADCF94)
If Not @error Then

   
   $coord1 = PixelSearch($coord0[0], $coord0[1]+4 , $coord0[0], $coord0[1]+4 , 0xC6EFF7)

   If Not @error Then
   
       $coord2 = PixelSearch($coord1[0]+10, $coord1[1] , $coord1[0]+10, $coord1[1] , 0x10454A)
       If Not @error Then
       
           $coord3 = PixelSearch($coord2[0], $coord2[1]+4 , $coord2[0], $coord2[1]+4 , 0x392829)
           If Not @error Then
       
               $coord4 = PixelSearch($coord3[0]-4, $coord3[1] , $coord3[0]-4, $coord3[1] , 0x5ACBCE)
               If Not @error Then
                Beep(500, 10) ; пищим и смеемся что нашли
                EndIf
            EndIf
        EndIf
    EndIf



EndIf

EndFunc
 

все хорошо и отлично пока начальная точка одна

но когда их много то приходится проходить циклом по всему диапазону точек
Код: AutoIt [Выделить]
For $j=0 To 100
        For $i= 0 to 100
            $coord = PixelSearch($i, $j , $i, $j , 0xADCF94)
                If Not @error Then
                    EnterUro($coord) ; та же процедура из верхнего примера
                EndIf
        Next

Next

и тут начинаются великие томозаааааааа. тоже конечно находит но слишком долго

помогите оптимизировать поиск




  Записан

rusreg79 [?]

Re: поиск группы точек через PixelSearch()
« Ответ #1, Отправлен: Ноябрь 19, 2011, 13:16:48 »
У меня этот скрипт прокрутился за 400ms. а когда я включил аеро оформление то работал он 185сек  ;D





  Записан
Программаторы программировали, программировали, да не выпрограммировали

MadMNN [?]

Re: поиск группы точек через PixelSearch()
« Ответ #2, Отправлен: Ноябрь 19, 2011, 13:22:25 »
в принципе проблема решена переработкой PixelSearchEx() под свои нужды




  Записан
 


Похожие темы
Тема Автор Ответов Просмотров Последний ответ
как проверить какая из точек левее?
AutoIt для новичков
mini 5 1693 Последний ответ Декабрь 10, 2009, 23:09:59
от Kaster
PixelSearch поиск оттенка
AutoIt для новичков
avrill 5 1846 Последний ответ Январь 19, 2012, 14:12:46
от C2H5OH
Поиск точки на экране с помощью PixelSearch
AutoIt для новичков
trudmoy 15 3674 Последний ответ Февраль 19, 2011, 23:20:46
от `p r o x y
[Сеть, интернет] Поиск текста на странице через IE.au3, WinHTTP и InetGet
Общение
zlo-kazan 11 2568 Последний ответ Апрель 30, 2011, 13:39:53
от Redline
PixelSearch() для всех точек
AutoIt для новичков
yukuru 5 1826 Последний ответ Июль 22, 2011, 13:59:09
от madmasles
[Автоматизация] Поиск связанных точек от А до Z
AutoIt для новичков
---Zak--- 2 640 Последний ответ Январь 13, 2012, 19:41:57
от ---Zak---
PixelSearch поиск с разных сторон
AutoIt для новичков
iamOmg 2 499 Последний ответ Февраль 18, 2012, 18:03:44
от C2H5OH
Фрагментный поиск через FindItem в ListView
AutoIt для новичков
marcsimus 3 546 Последний ответ Март 08, 2012, 21:29:14
от Zaramot
Поиск пикселя через API
AutoIt для новичков
nowost 1 503 Последний ответ Май 30, 2012, 11:40:18
от nowost
Поиск битмапа в скриншоте через WinApi
AutoIt для новичков
Ilyialat 2 713 Последний ответ Август 08, 2012, 21:13:47
от Ilyialat


Реклама

* Последние сообщения на форуме
post Re: Как запустить параллельно несколько сессий одного скрипта?
[AutoIt для новичков] firex Сегодня в 10:12:22
post Re: Как запустить параллельно несколько сессий одного скрипта?
[AutoIt для новичков] avmaksimov Сегодня в 10:04:11
post Re: [Файловая система] Файлы исходников, структура и хранение
[Общение] IoffeMax Сегодня в 10:01:41
post Re: как изменить фоновый цвет вкладок и фона у функции GUICtrlCreateTab?
[AutoIt для новичков] mr.Gbabak Сегодня в 10:00:48
post Re: Как запустить параллельно несколько сессий одного скрипта?
[AutoIt для новичков] Novichek12 Сегодня в 09:00:50
post Re: Иконки в диалоге и скорость запуска скрипта
[AutoIt для новичков] gora Сегодня в 08:20:57
post Re: [Массивы] _ArrayDelete очень медленный
[Автоустановка приложений] avmaksimov Сегодня в 08:20:54
post Re: Как запустить параллельно несколько сессий одного скрипта?
[AutoIt для новичков] avmaksimov Сегодня в 08:19:39
post Как запустить параллельно несколько сессий одного скрипта?
[AutoIt для новичков] Novichek12 Сегодня в 07:03:01
post Re: USBProtect - Блокировка USB устройств
[Примеры и рабочие проекты] lehith Сегодня в 05:55:52

* Пользователи онлайн
  • Dot Гостей: 99
  • Dot Скрыт: 0
  • Dot Пользователей: 26
  • Dot Пользователи Online: