오토핫키 커뮤니티

조회 수 952 추천 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
분류 제목 글쓴이 최근변경 추천
질문 HTML <TD> 텍스트를 마우스 클릭 가능한가요 ? 4 빵글빵글 2018.10.04 0/0
질문 인증보안관련 질문입니다~ 4 시간에기대어 2018.10.08 0/0
질문 안녕하세요 포스트메세지관련 질문있어서 글써봅니다!! lym13 2018.10.01 0/0
질문 함수 사용 질문 6 빵글빵글 2018.10.03 0/0
자유 오토핫키에는 랜덤값 넣을수 있는것 있나요?? 1 데프픗 2018.10.01 0/0
자유 목표했던 매크로 하나 만들었네요. 6 무거움 2019.03.20 0/0
정보 오토핫키 if 기본부분인데 이해가 안돼서 도와주세요! 4 slka 2018.10.16 0/0
질문 파이썬에서 오토핫키로 변경 질문! 4 빵글빵글 2018.09.29 0/0
질문 이미지 서치도 게임사에서 대응을 하나요? 무거움 2018.09.26 0/0
질문 배우기 쉬운 매크로는 어느걸까요?? 7 모기야모기야 2019.04.18 0/0
질문 키보드 값을 알고 싶어요 2 웅ol 2019.03.20 0/0
질문 비활성 이미지서치 범위검색 문제 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
Board Pagination Prev 1 ... 495051525354555657 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글