AHK(오토핫키)

오토핫키 ImageSearch, PixelSearch, PixelGetColor

blackbearwow 2020. 8. 18. 22:07

1. ImageSearch

문법: ImageSearch &OutputVarX, &OutputVarY, X1, Y1, X2, Y2, ImageFile

ImageSearch &FoundX, &FoundY, 40, 40, 300, 300, "C:\My Images\test.jpg"

OutputVarX, OutputVarY에 찾은 이미지의 x, y좌표가 저장된다. 좌상단의 좌표가 저장된다.

X1, Y1은 이미지 서치 시작 좌표

X2, Y2는 이미지 서치 끝 좌표 

0, 0, A_ScreenWidth, A_ScreenHeight는 모니터 화면 전체에서 찾을때 사용한다.

이미지 경로는 절대경로와 상대경로 둘다 지원한다. 포맷은 ANI, BMP, CUR, EMF, Exif, GIF, ICO, JPG, PNG, TIF, WMF을 지원한다 (BMP는 16-bit이상이어야 한다). jpg나 png로 하자. 

 

FoundX := 0
FoundY := 0
try {
    if ImageSearch(&FoundX, &FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, "*40 img.png")
        MsgBox "The img was found at " FoundX "x" FoundY
    else
        MsgBox "img not found"
}
catch as exc
    MsgBox "Could not conduct the search due to the following error:`n" exc.Message

 위 예제처럼 사용하면 된다. 이미지 파일에 *숫자 가 붙은 것은 정확도를 말한다. 0~255의 값을 줄 수 있으며 숫자가 커질수록 관대하게 이미지를 서치한다. jpg같은 이미지는 색상이 한정적이므로 꼭 사용해야하는 옵션이다.

 

2. PixelSearch

문법: PixelSearch &OutputVarX, &OutputVarY, X1, Y1, X2, Y2, ColorID [, Variation]

 

3. PixelGetColor

문법: Color := PixelGetColor(X, Y [, Mode])

x, y좌표의 색깔을 문자열로 얻는다.

 

buttonCoord := {x:200, y:230}
color := "0x355014"

if (PixelGetColor(buttonCoord.x, buttonCoord.y) = color) {
    ; 픽셀이 컬러와 일치할 경우
}
else {
    ; 픽셀이 컬러와 불일치할 경우
}

'AHK(오토핫키)' 카테고리의 다른 글

오토핫키 Gui  (0) 2025.03.21
오토핫키 Send  (0) 2024.05.18
오토핫키 WinExist, WinActive, WinActivate, WinMinimize, WinGetMinMax  (0) 2020.08.18
오토핫키 MsgBox  (0) 2020.08.18
오토핫키의 기본 문법  (0) 2020.08.18