매크로

조회 수 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
분류 제목 글쓴이 최근변경 추천
자유 히트2는 오토핫키 없을까요 1 매매매핫키 2022.12.07 0/0
자유 히로매크로 사용중입니다. 1 매끄로 2015.03.16 0/0
자유 희한하네요... 2 보득 2015.02.02 0/0
자유 흠냐 오토핫키와 c++ 연관성 34f35 2015.10.09 0/0
자유 흠.. 안녕들 하세요.. 13 폐이니즘 2015.01.16 0/0
자유 흠 gdip 안쓰고도 비활성 이미지 서치가 가능하네요 4 루뽕 2015.11.19 0/0
질문 흑백화를 시킨 후 이미지를 저장 하였습니다. 이후 이... 1 haegu 2018.09.11 0/0
질문 흑백화 이미지서치 참고할만한 글 있나요?? 3 급홍어감별사 2018.07.02 0/0
질문 흑백 비활성 이미지 검색 구현하신 분 계세요? 4 프리 2019.05.23 0/0
자유 후.. 검은거 한번 만들어 볼까 합니다 쟈브 2018.11.14 0/0
질문 후 문의 2번째.. 드립니다......... 4 문의드립니다 2015.06.10 0/0
자유 효율적인 쫄작교체방법이 없을까요? 3 세나블텍 2015.08.06 0/0
질문 활성화된 프로세스 죽이는법 kill 3 리엔니케니스타 2017.03.29 0/0
정보 활성화된 창으로 esc보내는 라이브러리. 1 헐키 2015.06.19 0/0
질문 활성과 비활성의 차이가 무엇인가요~? 1 배고파3000 2018.09.04 0/0
질문 활성 ? 비활성 질문.. 2 아카드 2014.11.04 0/0
자유 확장자 변환기 3 없어돌아가 2015.04.01 0/0
질문 확장모니터에서 controlclick질문드립니다 레나류륜 2016.10.27 0/0
질문 확율을 결과물로 출력중입니다. 특수문자 출력을 못해요 3 가족오락관 2016.11.08 0/0
자유 확실히 오토핫키가... 16 아카드 2014.11.09 0/0
Board Pagination Prev 1 2345678910 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글