매크로

조회 수 940 추천 0 댓글 3

반갑습니다 선배님들

얼마전에 오토핫키를 알고 공부하던중


이미지 서치에 대해서는 이게시판에 많은글들이 있는건 알고 있으며

비활성 이미지서치에서 며칠동안 이곳저곳 많은곳을 검색했으나

다른분들이 올려놓은 코드 그대로 복붙으로 해도 저만 안되서 어느부분의 문제인지 도무지 모르겠어서

염치불구하고 질문드립니다.


비활성 이미지서치중 범위지정 문제입니다.


최종적으로 복붙에서 테스트하던코드는 이곳 게시판에 다른분이 올리신건데 아래와 같습니다.


search_rimg(image, hwnd, byref vx, byref vy, fromX, fromY, toX, toY) {
pToken := Gdip_Startup() ;필수
pBitmapHayStack := Gdip_BitmapFromhwnd(hwnd) ;화면비트맵
pBitmapNeedle := Gdip_CreateBitmapFromFile(image) ;찾을이미지
Sleep, 100
if Gdip_ImageSearch(pBitmapHayStack,pBitmapNeedle,list,fromX,fromY,toX,toY,10,0x000000,1,1) {  
StringSplit, LISTArray, LIST, `,  
vx:=LISTArray1 
vy:=LISTArray2
Gdip_DisposeImage(pBitmapHayStack), Gdip_DisposeImage(pBitmapNeedle) ;화면,찾을이미지삭제
Gdip_Shutdown(pToken)
return true
}
else 
{
Gdip_DisposeImage(pBitmapHayStack), Gdip_DisposeImage(pBitmapNeedle) ;화면,찾을이미지삭제
Gdip_Shutdown(pToken)
return false
}
}

여기서 범위의 끝지점 지정부분
toX, toY 이부분에 0을 제외한 다른숫자만 들어가면 이미지를 못찾습니다.
시작점
fromX, fromY 부분은 정상작동합니다.

제가 출력 테스트한 코드는 아래와같습니다.

#Include Gdip_all.ahk
#Include Gdip_ImageSearch.ahk
#Include Sch_img.ahk ;위 코드가 있는파일

;아래는 실행파일

F1::

    Title = 타이틀 
 WinGet,winid,ID,%Title%

  if(Search_rimg("img/폴더.bmp",winid,x,y,18,79,100,100)){
  MsgBox, success!! x=%x% y=%y% %ErrorLevel%
  ControlClick, x%x% y%y%, %Title%
 }
 else
 {
  MsgBox, 못찾음 %ErrorLevel%
 }
 
}
return

F12::
ExitApp
return

위에서 말씀드렸다시피 시작좌표는 수치를 바꿔도 정상작동합니다.
끝좌표만 들어가면 이미지를 못찾습니다.

도움을 주시면 감사하겠습니다.

  • Hangoon 2018.09.27 08:55

    "img/폴더.bmp" -> "img\폴더.bmp"

    이렇게 해야 되지 않을까요?

  • 짜근햄 2018.09.27 17:09
    답변 감사합니다.
    하지만 그문제는 아닌것 같습니다.
  • Hangoon 2018.09.29 01:14
    코드는 문제 없어보이는데요.. 좌표범위 안에 이미지가 위치해 있는지 확인해보세요

    위에 사용하신 search_rimg라는 함수는 Gdip_ImageSearch 함수 리턴값에 대한 이해가 별로 없으신 상태로 작성된거 같습니다
    Gdip_ImageSearch.ahk 열어서 주석처리된 설명을 잘 읽어보시면 써치 실패시 각종 에러코드를 리턴합니다.
    그런것들을 사용하면서 확인할 수 있도록 작성해야 하는데 Gdip_ImageSearch가 True이면 True를 리턴하는것은 Gdip_ImageSearch가 에러코드를 리턴했을때도 search_rimg는 True를 리턴하기 때문에 별로 좋은 함수 구성은 아닌 것 같네요

    여튼 search_rimg 가 false로 잡히는걸로 봐선 Gdip_ImageSearch 함수 실행 시 오류는 안났다는 이야기고 단순히 써치결과가 0이라는 뜻이 되는데, 동일한 상황에서 끝좌표를 0으로 놨을때는 써치가 잘 된다면 찾고자 하는 이미지가 시작좌표~끝좌표 안에 안에 없다는 얘기가 되겠지요.

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 비활성 이미지서치 범위검색 문제 3 짜근햄 2018.09.29 0/0
질문 픽셀서치 다중으로 인식하게 하려면 어떻게 해야하죠? 1 제이프로 2018.10.01 0/0
자유 벽람항로 매크로도 오토핫키로 만들 수 있을까요? NEKO 2018.09.19 0/0
질문 postmassage랑 controlclick 둘다 안먹는경우는 어떻게... HyunsD 2018.09.19 0/0
질문 gdip 비활성 이미지 서치시 깜빡거림 1 러츄아애러 2018.09.17 0/0
질문 pc메이플 사냥 dleogns 2018.09.17 0/0
자유 메이플메크로 구매 dleogns 2018.09.17 0/0
자유 메이플pc버젼 매크로 가능 하신분 연락주세요 두치2 2018.09.17 0/0
자유 pc메이플 만드시는분 혹시계신가요? 르에 2018.09.17 0/0
질문 매크로 배우려면 쵸스란 2018.09.16 0/0
질문 이미지서치 잘 되다가 안되는건 무슨경우일까요?? 1 GNrrrr 2018.09.17 0/0
질문 오토핫키랑 매크로랑 다른점이 무엇인가요? 1 Todhd 2018.09.14 0/0
질문 오토핫이 메모리 질문있습니다!! 3 오핫가자즈아 2019.09.29 0/0
자유 오토핫키 아두이노 키보드 마우스 연동 1 감사합니다다다 2018.10.04 0/0
질문 스크립트 질문있습니다 1 광대승천 2018.09.14 0/0
질문 최소화 상태의 창에서는 매크로 불가능한 것일까요? 3 시간에기대어 2018.09.13 0/0
질문 중복실행질문좀요 광대승천 2018.09.11 0/0
질문 오토핫키로 마우스 속성에서 포인터 정확도 향상 끌수 ... 감사합니다다다 2018.09.11 0/0
질문 리그오브레전드 주문제작 가능하신분 meritgm 2018.09.09 0/0
질문 오토핫키나 매크로 만드는걸 배우고싶습니더 4 GKoo 2018.09.13 0/0
Board Pagination Prev 1 ... 495051525354555657 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글