; 이미지 서치
; seconds : 시간 지정 (기본설정상 1초 = 10번 시도, 0.5초 = 5번 시도함)
; imgX, imgY : 리턴받기 위해 사용
; fromX , fromY , toX , toY : 이미지 서치 범위 지정
; 리턴값 : 1 = 이미지 찾음 , 0 = 이미지 못찾음, -1 = 이미지 파일 없음
CheckImage(img, seconds=0.3, ByRef imgX="", ByRef imgY="", fromX=0, fromY=0, toX=0, toY=0) {
? ? global ActiveID, DebugMode
CoordMode, Pixel, Screen
? ? Sleep, 10
? ? If ( ActiveID)
? ? ? ? WinGetPos, winX, winY, winW, winH, % ActiveID
? ? Else
? ? ? ? winX := 0, winY := 0, winW := A_ScreenWidth, winH := A_ScreenHeight
? ? sleepTime := 100
? ? times := seconds * (1000 / sleepTime)
? ? If ( times=0)
? ? ? ? times := 1
? ? x := winX, y := winY, w := winX+winW, h := winY+winH
? ? If (fromX && fromY && toX && toY)
? ? {
? ? ? ? w := x+toX, h := y+toY, x := x+fromX, y := y+fromY
? ? ? ? If ( DebugMode = 1)
? ? ? ? {
? ? ? ? ? ? ToolTip, 범위시작, x, y, 11
? ? ? ? ? ? ToolTip, 범위끝, w, h, 12
? ? ? ? }
? ? }
? ? Loop, %times%
? ? {
? ? ? ? ImageSearch, oX, oY, x, y, w, h, *60 %A_ScriptDir%\%img%
? ? ? ? If ( ErrorLevel = 0)
? ? ? ? {
? ? ? ? ? ? imgX := oX
? ? ? ? ? ? imgY := oY
? ? ? ? ? ? If ( DebugMode = 1)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? ToolTip, %img%, imgX, imgY, 10
? ? ? ? ? ? }
? ? ? ? ? ? Return 1
? ? ? ? }
? ? ? ? Else If ( ErrorLevel = 2)
? ? ? ? {
? ? ? ? ? ? MsgBox, , , 이미지 없음 : %img% , 1
? ? ? ? ? ? Return -1
? ? ? ? }
? ? ? ? Sleep, %sleepTime%
? ? }
? ? Return 0
}
; 비활성 이미지 클릭
; seconds : 시간 지정 (CheckImage 설정에 따름)
; fromX , fromY , toX , toY : 이미지 서치 범위 지정
; 리턴값 : 1 = 이미지 찾음 , 0 = 이미지 못찾음, -1 = 이미지 파일 없음
ClickImage(img, seconds=0, fromX=0, fromY=0, toX=0, toY=0) {
? ? Sleep, 10
CoordMode, Pixel, Screen
? ? result := CheckImage( img, seconds, x, y, fromX, fromY, toX, toY)
? ? If (result = 1)
? ? {
? ? ? ? global ActiveID, DebugMode, WindowCaptionHeight, WindowBorderWidth, WindowBorderHeight
? ? ? ? WinGetPos, winX, winY, winW, winH, % ActiveID
? ? ? ? px:=x-winX-WindowBorderWidth+10
? ? ? ? py:=y-winY-WindowBorderHeight-WindowCaptionHeight+20
? ? ? ? p := px|py<<16
? ? ? ? If ( DebugMode = 1)
? ? ? ? {
? ? ? ? ? ? ToolTip, 이미지 클릭 %img%, x, y, 10
? ? ? ? }
? ? ? ? PostMessage, 0x201, 0, %p%, , % ActiveID
? ? ? ? PostMessage, 0x202, 0, %p%, , % ActiveID
? ? }
? ? Sleep, 200
? ? Return result
}
번거롭게해서 죄송합니다만
저렇게있을떄 이미지에서 ?윈도우상 저기 저 시작을?320 250 라고하고 끝을?415 380 라했을때
저 빨간색 박스 안에서만 이미지를 서치하고싶은대?
저 함수를 if컨디션에서 쓰고싶으면 이렇게 값을 넣고 쓸수있나요?
if?( CheckImage( "image\판매\판매영웅\판매3.png",0, "", "", 320, 250, 415, 380?) = 1 )
if ( ClickImage( "image\판매\판매영웅\판매3.png", 0, 320, 250, 415, 380 ?) = 1)
물어보시는게아니라 해결하신건가요?.....