Что нового

Поиск многожество Картинок

deny

Новичок
Сообщения
50
Репутация
2
Как реализовать через Imagesearch в одном скрипте
примерно есть 10 скринов и надо чтоб он искал эти скрины и как реализовать ?
не все сразу ,а нашёл один ,если есть ещё на экране ,то опять движение и так к каждому, как
поисковик
Код:
while 1
#include <ImageSearch.au3>
$res = _ImageSearch("Скрин1",1,'',"",100)
    If $res = 1 Then
Msbox(0,'Нашёл', 'Скрин1',1)
MouseMove($x1, $y1, 1)

wend
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
А если так ?:
Код:
#include <ImageSearch.au3>

For $i = 0 To 10
   $res = _ImageSearch("Скрин1",1,'',"",100)
   If $res = 1 Then
      Msgbox(0,'Нашёл', 'Скрин1',1)
      MouseMove($x1, $y1, 1)
   Endif
Next
 
Автор
deny

deny

Новичок
Сообщения
50
Репутация
2
и как чтоб он проверял 10 скринов?
 

Arei

Скриптер
Сообщения
938
Репутация
115
Код:
#include <ImageSearch.au3>

For $i = 0 To 10
   $res = _ImageSearch("Скрин1",1,'',"",100)
   If $res = 1 Then
      Msgbox(0,'Нашёл', 'Скрин1',1)
      MouseMove($x1, $y1, 1)
   Endif
Next

для работы этого скрипта, ты в конце т.е
Код:
#include <ImageSearch.au3>
$w = "путь до картинки первый поиск кариинки"

For $i = 0 To 10
   $res = _ImageSearch($w,1,'',"",100)
   If $res = 1 Then
      Msgbox(0,'Нашёл', 'Скрин1',1)
      MouseMove($x1, $y1, 1)
   Endif
$w = "путь до картинки следующих 9"
Next

менять каждый раз данные расположения картинок.
 
Автор
deny

deny

Новичок
Сообщения
50
Репутация
2
$I - это что?
а что если не найдёт,то будет просто дальше цикл идти?
 

Arei

Скриптер
Сообщения
938
Репутация
115
Код:
$I

где ты это нашёл, может
Код:
$i

то это переменная,всё точнее почитай в справке про циклы,что бы разобраться.
 
Автор
deny

deny

Новичок
Сообщения
50
Репутация
2
вот не понел хоть убейся, можно примерчик ,надо чтоб скрипт искал все 10 скриншотов на экране . :-\
 

eropov

Jury
Сообщения
195
Репутация
25
Я не совсем понял, что вы хотели получить, возможно так:
Код:
#include <ImageSearch.au3>

While 1
	$res = _ImageSearch("Скрин1",1,'',"",100)
	If $res = 1 Then
	Msgbox(0,'Нашёл', 'Скрин1',1)
	MouseMove($x1, $y1, 1)
	ContinueLoop 1 ;Заходим на новый круг
	Else
	ExitLoop 1 ;Выходим из цикла
   Endif
WEnd
 
Автор
deny

deny

Новичок
Сообщения
50
Репутация
2
Код:
#include <ImageSearch.au3>

$x1 = 0
$x2 = 0
while 1

$res1 = _ImageSearch("test1.bmp",1,$x1,$x2,100)
    If $res1 = 1 Then
MsgBox(0,'Нашёл', 'Скрин1',1)
MouseMove($x1,$x2,1)


EndIf
$res2 = _ImageSearch("test2.bmp",1,$x1,$x2,100)
    If $res2 = 1 Then
MsgBox(0,'Нашёл', 'Скрин1',1)
MouseMove($x1, $y1, 1)

EndIf

$res2 = _ImageSearch("test3.bmp",1,$x1,$x2,100)
    If $res2 = 1 Then
MsgBox(0,'Нашёл', 'Скрин1',1)
MouseMove($x1, $y1, 1)
EndIf
wend



как это реализовать?
чтоб проходил по циклу .
или как чтоб выбирал из папки со скринами кадждый скрин
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
deny [?]
как это реализовать?
Можно так:
Код:
#include <ImageSearch.au3>
#include <Array.au3>

Dim $aImgs[3][2] = [["1.bmp", 0], ["2.bmp", 0], ["3.bmp", 0]]
Dim $sDirPath = @ScriptDir & "\Screenshots\"

_ArrayDisplay($aImgs)

For $i = 0 To UBound($aImgs) -1
	
	Local $x, $y
	
	$aImgs[$i][1] = _ImageSearch($sDirPath & $aImgs[$i][0], 1, $x, $y,0)
	If $aImgs[$i][1] Then
		MsgBox(64,'Success', 'Скрин найден!' & @CRLF & $aImgs[$i][0], 2)
		MouseMove($x, $y, 1)
	Else
		MsgBox(48,'Failure', 'Скрин не найден!', 2)
	EndIf
Next

_ArrayDisplay($aImgs)
 
Автор
deny

deny

Новичок
Сообщения
50
Репутация
2
Спасибо,большое :ok: :beer:
И как зациклить,что повторялся скрипт?
в
While 1
wend
поставить?
Все спс ,кто помог хотел и биг пасибо кто помог) :beer:
 
Автор
deny

deny

Новичок
Сообщения
50
Репутация
2
спс уже сам понел) :beer:
 
Верх