매크로

질문
2015.04.19 13:27

gdip에 대해 궁금한데요.

조회 수 1555 추천 0 댓글 13


아래 몇분이 말씀하셨던건요.


gdip를 이용하면 지니모션 자체를 스크린샷해서 클립보드 상태에 있는 이미지를 기준해서


찾고자하는 이미지를 서칭하는 거 같은데요.



아래 말씀하신부분들 해서 해봤는데 안되네요. 뭐가 문제인가요.



#Include Gdip.ahk?

#Include Gdip_ImageSearch.ahk



LIST = 0

WinGet,hwnd,ID,Genymotion
gdipToken := Gdip_Startup()
bmpHaystack := Gdip_BitmapFromHWND(hwnd)
bmpNeedle := Gdip_CreateBitmapFromFile("search.png")
RET := Gdip_ImageSearch(bmpHaystack,bmpNeedle,LIST,0,0,0,0,50,"",1,1)
Gdip_DisposeImage(bmpHaystack)
Gdip_DisposeImage(bmpNeedle)
Gdip_Shutdown(gdipToken)
msgbox % LIST


이렇게 해봐도 안되네요..


Gdip_ImageSearch(pBitmapHaystack,pBitmapNeedle,ByRef OutputList="",OuterX1=0,OuterY1=0,OuterX2=0,OuterY2=0,Variation=0,Trans="",SearchDirection=1,Instances=1,LineDelim="`n",CoordDelim=",")

pBitmapHaystack 스샷이미지
pBitmapNeedle 찾을이미지
OutPutList 출력좌표 (vx,vy)
OuterX1,Y1,X2,Y2 ?스샷이미지에서 찾을이미지 범위 X,Y,H,W 값? 0값은 전체범위???
Variation ?transcolor
SearchDirection 이미지전체에서 서칭순서
Instances 매칭되는 이미지(디폴트 첫번째매칭1개)
Delim ?결과값 스플리트 기준


대충 보니까 저런 뜻 같은데요. ?

bmpHaystack := Gdip_BitmapFromHWND(hwnd) 이부분이 지니모션창 스샷을 비트맵화 해서
bmpHaystack 변수에 담는거같은데요

뭐 어떻게 해야 될까요?

제가 하려는것은 gdip로 지니모션을 imagesearch 하려고 하는데요.
지니모션창을 다른 창이 가려도 되어야 하는데 , 뭐가뭔지 잘모르겠습니다.

이 부분에 대해서 혹시 강좌같은거나 기본 문법틀 같은걸 알려주시면 참 좋을것 같습니다.


원래 그냥 별관심이 없었는데, 요번에 어떤 어플 보니까 그 어플은 화면을 가려도 , 화면을 구석에 몰아서 안보이게 해도
다 작동 잘하더라구요.?
캡처하고 그걸 비교하고 하면 속도가 꽤 느려질것으로 생각해서 그냥 그랬는데 이건 거의 비슷하게 작동하는거 같아요.
생각보다 좋은방법인듯 해서 한번 해보려고 했는데 gdip에 대해 첨보는거라 ㅠㅠ
?

  • 우후훅 2015.04.19 17:27


    gdipToken := Gdip_Startup()

    bmpHaystack := Gdip_BitmapFromHWND(hwnd)
    Gdip_SetBitmapToClipboard(bmpHaystack)

    ?

    이렇게 해서 클립보드 저장후 해보니 , 블루스택화면은 잘 캡쳐가 되는데

    지니모션은 검은 화면이 나오거나 , 테두리만 검게 나오는군요.

    이 방법으로 에뮬레이터를 왜 블루스택만을 쓰는지 알것같은.....

    지니모션은 무슨 차이 때문에 안되는지 모르겠네요.

    지니모션이 스샷기능이 유료모드에 있기때문에 이게 뭔가 걸려있는건지..

  • 까치발가락 2015.04.19 23:25

    지니모션으로 작업해 본 결과,

    지니모션은 단지 컨테이너에 버쳐박스를 담아 놓은 거라고 보입니다.

    따라서 외부에서 버쳐박스로 접근할 수 없죠.

    버쳐박스에 접근하려면 지니모션을 통해야 합니다.


    헌데, 원하는 컨텐츠는 버쳐박스에 있으니 단지 지니모션을 캡쳐해선

    내용이 보이지 않는 겁니다.

    혹여 방법을 알아내시면 공유해 주시기 바랍니다...

  • 매크로맨서 2015.04.20 09:18

    저도 지니모션 테스트 결과 모두 흑색으로 나오네요

    예전엔 됐었는데 확실히 버쳐박스와 관련된 것으로 보입니다

  • profile
    외치기 2015.04.20 11:07

    지니모션은 버추얼박스에서 지니로 전송하는거랑 핸들로 가져오는건 안되는거같습니다.

    PrintScreen으로 클립보드에 화면을 저장하고 비교하거나

    ADB를 이용하는게 편할거같습니다.


  • 우후훅 2015.04.20 11:39
    프린트스크린이라면, 윈도우에서 말씀이신가요? 그렇게하면 윈도우 화면에 보여야 되잖아요
    그럼의미가 없어질거같아요 화면을 가려도 되는 이미지서칭을 하는거라서요.
    ADB는 뭔지 잘모르겠네용
  • profile
    외치기 2015.04.20 11:42
    ADB 안드로이도 디바이스 브릿지? 뭐 그런거에요.
    지니모션도 어디까지나 안드로이드니까 거기에 메시지 보내서 비트맵 받아올수있어요.
  • 우후훅 2015.04.20 13:15

    여차저차 adb 에 대해 검색질 좀 해서 글 올라온거 따라해서 테스트해보니 ,

    범위를 크게할수록 이미지서칭속도는 현저하게 떨어지네요
    핫키의 이미지서칭 생각하면 안되겠어요. 이건 좀 무리일정도네요

    해본것에 의의를 둬야할것같습니다.

  • profile
    외치기 2015.04.20 14:03

    핫키에 이미지서치도 범위를 넓게하면 느려집니다.
    ADB경우 이미지크기에 따른 속도변화가 오토핫키 내장기능보다 심하긴하죠.

  • 매크로맨서 2015.04.20 14:31
    어차피 핫키로 만들때도 이미지 크기는 50픽셀 이내로 하는게 좋습니다
    저는 웬만하면 20~30픽셀로 자르고요
    한 글자의 일부분만 잘라도 충분히 인식가능하다는 점 참고하세요~
  • 우후훅 2015.04.20 14:56
    그렇긴하죠. 근데 가끔 전체범위에서 찾아야할 때가 있는데 , 핫키의 이미지서칭이 전체범위에서 찾아도 워낙에 빠르다보니 이걸 버리기가 쉽지가 않네요.
    글구 블루스택은 gdip가 잘되기때문에 차라리 블루스택으로 하는것도 괜찮을듯 싶어요
    딴데서 받은 어플 보면 블루스택에서 gdip쓰는거 같은데 잘되는거 같더라구요.
  • Hangoon 2015.04.20 17:04

    adb를 이용하면 간편하게 되고요, 근데 느립니다

    ㅎㅎㅎ

    근데 제가 해보니까 느려도........

    스마트하게 짜면 매크로 만들정도는 충분히 돼요

  • HyunYu 2015.04.22 13:31
    adb 를 이용한 예제 부탁드려도 될까요? ^^;
  • Mony 2015.04.27 01:46
    http://tailstar.net/index.php?mid=autohotkey&page=2&document_srl=6895941

    이 글의 댓글 보시면 될 듯 싶어요.

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 오토핫키 명령어 질문 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.20 0/0
질문 오토핫키 질문입니다. 3 anahen 2015.04.20 0/0
질문 gdip에 대해 궁금한데요. 13 우후훅 2015.04.27 0/0
질문 reload 관련 자료 찾아보아도 나오지 않아 질문드립니다. 13 프로도신 2015.04.20 0/0
질문 Ctrl + Click or Ctrl + wheel 가르쳐 주세요. 7 theruin 2015.04.20 0/0
질문 구현가능한지 질문드려요. 15 흑콘 2015.04.20 0/0
자유 시간지정해서 그시간이 되면 매크로가 동작되게 하고 ... 11 지니블렉션 2015.04.20 0/0
질문 모바게님 비활성 이미지클릭 간소화 함수 질문요 6 두더지 2015.04.17 0/0
질문 변수 질문 5 암드래 2015.07.16 0/0
자유 근데 OCR로 이미지 판단이 가능할까요? 2 우후훅 2015.04.17 0/0
질문 블택윈도우화면 위로 Gui 텍스트 글자 보이게 하기 3 제주소나이 2015.04.22 0/0
질문 기본 연산자 기호관련해서 질문드려요 15 우후훅 2015.04.17 0/0
질문 지니 비활성화 질문 10 백곰e 2015.04.16 0/0
정보 gdip 간단 응용 팁들 13 매크로맨서 2015.04.18 0/0
정보 Gdip를 이용한 클립보드에 있는 이미지를 통한 이미지서치 11 암드래 2016.07.19 0/0
정보 일정이미지 발견시 다른이미지서치 할수있나요? 2 세나블텍 2015.04.16 0/0
질문 한스크립트안에 여러가지 스크립트를 넣어 놓을수 있나요? 4 세나블텍 2015.04.22 0/0
Board Pagination Prev 1 ... 174175176177178179180181182 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글