AutoitPoradniki

Poradnik Autoit – Imagesearch

Imagesearch jak sama nazwa wskazuje jest poleceniem szukającym odpowiedniego obrazka na ekranie.
Zajmiemy się dziś bardzo prostym UDF’em który prawdopodobnie posłuży nam do pisania botów w grach flash bo właściwie tylko do tego się nadaje…

Aby nie przeciągać – pobieramy UDF #1,#2,#3,#4 (mirrory)

W paczce umieściłem 2 wersje Imagesearch (32/64 Bit) oraz au3 z przykładowym skryptem.

ImageSearch.au3 to tylko dwie funkcje:

  • _ImageSearch szuka na całym ekranie
  • _ImageSearchArea szuka po wybranym obszarze ekranu.

Aby skorzystać z dobrodziejstw tej biblioteki potrzebujemy obrazu w formacie *.png

Składnia polecenia Imagesearch

_ImageSearch([obraz], [pozycja], $x, $y, [tolerancja])

[obraz] – wiadomo, ścieżka do obrazu który zamierzamy szukać.
[Tolerancja] – wartość od 0 do 255, dzięki tej pozycji ustawiamy tolerancję imagesearch na różnicę kolorów pomiędzy obrazkiem, a ekranem. Przydatne w przypadku szukania gif’ów.
[Pozycja] – zwracana pozycja (o ile obrazek został znaleziony) 0 – lewy górny bok obrazka, 1 – środek obrazu.

Składnia _ImageSearchArea jest bardzo zbliżona:

_ImageSearchArea([obraz], [pozycja], $x1, $y1, $x2, $y2, $x, $y, [tolerancja])

Różni się od składni opisanej powyżej jedynie oznaczeniem początku ($x1, $y1) oraz końca ($x2, $y2) wyszukiwanego obszaru. W trakcie pisania skryptów,w których prędkość wyszukiwania jest istotna zalecam korzystanie z _ImageSearchArea aby zawężać obszar wyszukiwania, kiedy tylko się da.

Uwaga !

1) Biblioteka nie porównuje skalowanych obrazów tj. aby skrypt działał na mniejszej/większej rozdzielczości musicie przygotować odpowiednie wielkości obrazów. Mój sposób na obejście tego problemu jest następujący:

Przygotujcie sobie odpowiednie wielkości *png i wrzucicie je do folderów nazwanych jak rozdzielczości ekranu, do których są dostosowane np.

/1024x764/
/720x1280/
/1080x1920/

Wykorzystamy teraz dwa makra (o których będzie następny poradnik) @DesktopHeight zwracające wysokość okna oraz @DesktopWidth zwracający jego szerokość.

_ImageSearch(@DesktopHeight&'x'&@DesktopWidth'\obrazek.png', 0, $x, $y, 0))

W ten sposób imagesearch będzie zawsze szukał w odpowiedniej dla ekranu rozdzielczości.

2) Wersja 64 bitowa nie będzie współgrała z 32 bitowym kompilatorem i vice versa

Jak wspomniałem na samym początku, imagesearch jest dość ograniczonym UDF-em i nie zalecam z niego korzystać dopóki naprawdę nie mamy innego wyjścia.

Zostaw tutaj coś po sobie !

Kliknij na ikonkę aby ocenić ten wpis. W ten sposób motywujesz nas do dalszej pracy. Pozostawienie po sobie komentarza to też dobry pomysł 😉

Średnia ocena 0 / 5. Liczba głosów: 0

Jeszcze nikt nie ocenił ;-(

Możesz również mnie wspomóc w rozwijaniu mojej pasji i tego bloga.

Postaw mi kawę na buycoffee.to

Wpisy, które mogą Ciebie zainteresować:

Wiedźmin III – Droga ku zagładzie

Kabson

Przywracamy gadżety pulpitu w systemach Windows 8 i 10

Kabson

Gramy gry z automatów na naszym PC (MAME)

Kabson

Zmieniamy wygląd kursora na El Capitan z Mac OS X

Kabson

Pozbywamy się ikonki ze skompresowanych plików i folderów w Windows 10

Kabson

Horizon: Zero Down – droga do platyny

Kabson
Subksrybuj
Powiadom o
guest

14 komentarzy
najnowszy
najstarszy oceniany
Inline Feedbacks
View all comments

W celu świadczenia usług na najwyższym poziomie strona http://variatkowo.pl używa Cookies. Korzystając ze strony wyrażasz zgodę na ich używanie zgodnie z polityką plików cookies. Ok, rozumiem Czytaj więcej