gdip.ahk와
gdip_imagesearch.ahk 를 사용하고 있고
SearchImg(ByRef clickX, ByRef clickY, Filename, AreaX1="0", AreaY1="0", AreaX2="0", AreaY2="0", Variation="50",Trans="")
{
global title
gdipToken := Gdip_Startup()
bmpHaystack := Gdip_BitmapFromHwnd(title)
bmpNeedle := Gdip_CreateBitmapFromFile(Filename)
RET := Gdip_ImageSearch(bmpHaystack,bmpNeedle,LIST,AreaX1,AreaY1,AreaX2,AreaY2,Variation,Trans,1,1)
Gdip_DisposeImage(bmpHaystack)
Gdip_DisposeImage(bmpNeedle)
Gdip_Shutdown(gdipToken)
if (LIST != "") ; 이미지를 찾았다면
{
StringGetPos, CommaW, LIST,`,
StringLeft,clickX,LIST,%CommaW% ; imgX 좌표 리턴
CommaW++
StringTrimLeft,clickY,LIST, %CommaW% ; imgY 좌표 리턴
return 0
}
else
{
clickX := 0
clickY := 0
return 1
}
} ; End
소스는 이렇게
if ( SearchImg(cX,cY,"start.bmp") = 0 )
{
Click(cX,cY)
}
함수는 이렇게 사용하고있습니다.
지금 ahk 파일과 이미지인 bmp 파일들이 같은 폴더에 있어야 작동을 하는데요
하위에 image폴더를 만들 경우
어떤 코드를 추가해야할지 가르쳐주시면 감사드리겠습니다.
SearchImg(cX,cY,"Imgae\start.bmp") 또는
Image := A_ScriptDir "\Image\start.bmp"
SearchImg(cX,cY,Image)
로 해보세요.