매크로

조회 수 260 추천 0 댓글 13



https://i.imgur.com/doevKXr.png




; 이미지 서치

; 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)


https://i.imgur.com/NaahLJ7.png



  • USW 2015.04.24 01:08

    물어보시는게아니라 해결하신건가요?.....


  • profile
    pervm 2015.04.24 01:19
    아뇨 물어보는건대요 ㅠㅠ
  • USW 2015.04.24 04:00
    클릭이미지 자체안에 체크이미지가 있어서 클릭이미지 하나만 사용하셔도 될것같아요.(물론소스는 다있어야겠지요)

    그리고 찾는범위 넣어주셧는데 그렇게 사용하는거 맞는것 같아요. 코드확인해보니깐
  • profile
    pervm 2015.04.24 04:01
    감사합니다 ㅎㅎ; 안될줄알았는대 가능하다니 다행이내요 ㅠ
  • profile
    pervm 2015.04.24 15:53
    질문하나더있는대요 만약에 이미지 서칭하는 이미기가 여러게 윈도우에서 중복되면 어떻게 서칭하나요?
  • profile
    pervm 2015.04.24 23:34
    근대 이미지를 저범위안에서 못찾는경우는 어찌해야하나요 ㅠ
  • USW 2015.04.25 00:29
    저 범위안에서 찾는이미지가 움직인다면안되구요..

    만약에 글자를 찾고 싶다면 imagesearch의 옵션중 trans를 사용해보세요
  • profile
    pervm 2015.04.25 00:51
    움직이는 이미지는 아니구요 가만히 있어도 인식을못하는대 이미지가 상당히 크거든요 한 저범위의 1/4정도인대 그래서 그런가요? 범위를 좀 늘려줘야하나요?
  • USW 2015.04.25 01:22
    찾는범위에서 어떤 이미지인지 알아야할것같습니다. 뒷배경을 찾는거라면 혹시 불빛이 깜빡거리기 떄문이지아닐지요..무조건 찾아져야하는데말이죠...움직이지않는배경이라면
  • profile
    pervm 2015.04.25 01:45

    세븐나이츠 쫄판매기능을 제작중인대요 움직이지않는 이미지에요 글에 이미지 다시 업데이트했어요?


    저위에서 이미지가 중복되는것들이있잖아요 그래서 이미지 서치할영역을, 영웅창에 8마리가 저렇게있으면 이미지 서칭범위를

    하나하나 나눠서 그안에서 하나씩 서칭할려구하는대요 잘안되내요. 뭐가문제일까요

  • USW 2015.04.25 02:23

    일단, 한 영역에서 찾는 이미지가 제대로 찾아지는지 확인부터해야할것 같습니다.

    블루스택에서 다른곳에서 이미지는 잘 찾아지시는데, 저 화면에서만 안되는건가요?

  • profile
    pervm 2015.04.25 03:05
    네 다른곳에서 이미지는 잘찾아지는대요 쫄판매 돌릴때만 이러내요.
    만약에 블루스택에서 다른곳에서 이미지는 잘찾아지는대 저창에서만 안찾아진다는건 코드 쓴거에 문제가있다는 거겠죠?
  • USW 2015.04.27 00:32
    네...그럴 가능성이 높다고봅니다...제가 답변을 늦게해서 죄송하구요...

    저는 소위 "허접"이라 간단한 질문에 대한 답변만 해드려서 죄송합니닼

List of Articles
분류 제목 글쓴이 최근변경 추천
자유 비활성(GDIP,ADB)이미지서칭 결국은... 7 우후훅 2015.04.24 0/0
질문 특정부분빼고 모니터가리기 _Crash 2015.04.24 0/0
질문 모바게님 이미지서칭함수 질문입니다.ㅠㅠ 13 pervm 2015.04.27 0/0
자유 오토핫키 입문할때는 비활성만 되어도 좋았는데요... 5 푸른호수 2015.04.24 0/0
질문 무한 loop문 사용시 cpu점유율 증가...해결방법좀 문의... 4 퉁군 2015.04.24 0/0
질문 윈드로이 다중 이미지서치 문의합니다. 2 퉁군 2015.04.23 0/0
질문 adb 이미지캡처시 90도회전되는 문제요 18 우후훅 2015.04.23 0/0
질문 GUI 스킨을 입히고 exe 컴파일한 후에 다른 PC에서는 ... 4 Rabbit 2015.04.23 0/0
질문 GDI 캡쳐 관련해서 질문 드립니다. 5 인형 2015.04.23 0/0
질문 자기자신말고 다른오토핫키프로그램 모두종료 3 _Crash 2015.04.24 0/0
질문 비활성 이미지 클릭 질문입니다 2 시원짱 2015.04.23 0/0
질문 모바게님 이미지서칭함수 오차율 질문 7 pervm 2015.04.22 0/0
질문 다시한번 질문드릴게요. 가상화관련 4 USW 2015.04.23 0/0
질문 FileInstall 관련 질문 41 USW 2016.10.29 0/0
질문 지니 이용한 쿠키런 매크로있으신분... 2 댕고링 2015.04.23 0/0
질문 오토핫키 명령어 질문 6 papepo 2015.04.21 0/0
질문 gui창 2개 중 1번 gui창에서 확인하면 닫아지면서 2번 ... 7 Rabbit 2015.04.21 0/0
질문 Shell.Explorer 새로고침? 13 _Crash 2015.04.21 0/0
질문 구이 스크립트 잘못된 부분 질문드립니다 3 푸른호수 2015.04.21 0/0
질문 구이실행시 정지 질문드립니다. 3 푸른호수 2015.04.20 0/0
Board Pagination Prev 1 ... 170171172173174175176177178 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글