매크로

조회 수 3728 추천 0 댓글 13

슉슉이님 예제 그대로 해보고 있습니다

일반 이미지 서치로는 이미지 인식문제 없습니다

정말 이거 하나 땜에 몆날 몇일 안되서 포기할까 하다 마지막 애절하게 다시한번 문의 드립니다

실행하면 비매칭이라고 뜨네요

X y값이 안들어오는거 보니 이미지가 인식이 안되는것 같습니다

아니면 블루스택이 인식이 안되는건지...블루스택1사용합니다

Gdip이미지 서치하기 위해서 세팅해야할 설정이라도 있는건가요?

이미지가 인식이 되야 뭘 만들어볼텐데 시작부터 안되니 정말 힘드네요

원격이든 아시는대로 도움 말씀좀 주시면 감사하겠습니다

ㅜㅜ



#Include Gdip.ahk ;이 파일이 있나 확인해보세요. Gdip함수들을 인클루드하는 겁니다. 

CoordMode,Pixel,Screen



F1::

gokey("1.png")

return


gokey(image)

{

WinGet, Title , ID, BlueStacks App Player ; 핸들값을 얻어온다

if Gdip_ImageSearchWithHwnd(Title,Image, X, Y) = 1

{

MsgBox, % X " " Y "에서 매칭"

}

else

{

MsgBox, 비매칭

}


 return

}


Gdip_ImageSearchWithHwnd(Hwnd,Image,Byref X,Byref Y,Variation=0, sX = 0, sY = 0, eX = 0, eY = 0, Trans="") 

{

gdipToken := Gdip_Startup()

bmpHaystack := Gdip_BitmapFromHwnd(Hwnd)


;-------------------------------------

;비활성 캡춰가 제대로 되는지 확인하기 위해 이미지파일로 저장하는 테스트 구문

static imageSaved

if !imageSaved and imageSaved := true

Gdip_SaveBitmapToFile(bmpHaystack, "테스트.bmp")

;-------------------------------------


bmpNeedle := Gdip_CreateBitmapFromFile(Image)

RET := Gdip_ImageSearch(bmpHaystack,bmpNeedle,LIST,sX,sY,eX,eY,Variation,Trans,1,1)

Gdip_DisposeImage(bmpHaystack)

Gdip_DisposeImage(bmpNeedle)

Gdip_Shutdown(gdipToken)

StringSplit, LISTArray, LIST, `,

X := LISTArray1

Y := LISTArray2

return RET

}



  • reavil 2016.06.19 23:42
    eX = 0, eY = 0 부분이 문제인것 같습니다. 
    eX  = 
    A_ScreenWidth, eY = A_ScreenHeight 로 한번 바꿔보세요
  • 가족오락관 2016.06.20 00:01
    Unsupported parameter default.
    에러 뜨네요
  • reavil 2016.06.20 00:30
    그러면 임시로 값을 한번 줘보세요 ㅎ..
    해상도에 따라 아래처럼 주면 되요
    아래는 1920x1080 해상도 예시입니다.
    eX = 1920, eY = 1080
  • 모닝커피 2016.06.20 02:36

    eX eY는 값이 0면 해당핸들 전체영역을 검색하게 되있기 때문에 초기화를 0으로 맞춰논겁니다


    Gdip.ahk 파일이 있는거져?? 같은 폴더에 잇어야 합니다


    우선 Variation값을 50~ 100사이값으로 맞춰서 서치를 해보시고 안된다면 디버깅으로 


    블루스택의 핸들이 재대로 받아왓는지 확인해보시는게 먼저일거 같습니다

  • 가족오락관 2016.06.20 06:50
    Gdip같은폴더에 있습니다
    Title에 0x60994라고 잡힙니다
    이미지는 일반 이미지서치로 테스트한 이미지입니다
    Id값은 원래 비어있나요? 빈상태로 출력 됩니다
  • profile
    셋쇼마루 2016.06.20 20:27
    Gdip_ImageSearchWithHwnd(Hwnd,Byref X,Byref Y,Image,Variation=0,Trans="",sX = 0,sY = 0,eX = 0,eY = 0)
    {
    SysGet, wFrame, 7
    SysGet, wCaption, 4
    gdipToken := Gdip_Startup()
    bmpHaystack := Gdip_BitmapFromHwnd(Hwnd)
    bmpNeedle := Gdip_CreateBitmapFromFile(Image)
    if( sX!= 0 || sY!= 0 || eX!= 0 || eY != 0)
    {
    sX := sX + wFrame
    sY := sY + wCaption + wFrame
    eX := eX + wFrame
    eY := eY + wCaption + wFrame
    }
    RET := Gdip_ImageSearch(bmpHaystack,bmpNeedle,LIST,sX,sY,eX,eY,Variation,Trans,1,1)
    Gdip_DisposeImage(bmpHaystack)
    Gdip_DisposeImage(bmpNeedle)
    Gdip_Shutdown(gdipToken)
    StringSplit, LISTArray, LIST, `,
    X := LISTArray1 - wFrame
    Y := LISTArray2 - wCaption - wFrame
    ;GuiControl,,로그, %bmpHaystack%||%bmpNeedle%||%RET%
    msgbox, %bmpHaystack%,%bmpNeedle%,%RET%
    if(RET = 1)
    {
    return true
    }
    else
    {
    return false
    }
    }


    IsImageCheck(ByRef ClickX, ByRef ClickY, CKImage, errorRange, trans, sX = 0, sY = 0, eX = 0, eY = 0)
    {
        WinGet, Title, ID, BlueStacks App Player
        If(Gdip_ImageSearchWithHwnd(Title, ClickX, ClickY, CKImage, errorRange, trans, sX, sY, eX, eY))
        {
            return true
        }
    }


    If(IsImageCheck(ClickX, ClickY, "이미지\1.bmp",60,0))
    {
    msgbox, 찾음
    }


    제가 쓰는 블루스택용 GDIP 서치에요

  • profile
    셋쇼마루 2016.06.20 20:34
    bmpHaystack := Gdip_BitmapFromHwnd(Hwnd)
    Hwnd(블루스택1) 의 화면을 가져온다

    bmpNeedle := Gdip_CreateBitmapFromFile(Image)
    Image 경로에있는 파일을 가져온다

    RET := Gdip_ImageSearch(bmpHaystack,bmpNeedle,LIST,sX,sY,eX,eY,Variation,Trans,1,1)

    bmpHaystack bmpNeedle 비교해서 RET에 저장

    RET 1이면 return true

    RET 1이 아니면 return false


    이미지서치할때 mgsbox로 bmphaystack bmpneedle ret 값 뜨는데

    1348058, 1318134, 1

    이런식으로 떠야 찾는건데

    0, 1318134, -1001 이런식으로 뜨면

    블루스택에서 화면을 못가져오는것, 이미지\1.bmp 는 잘 가져오는것 , -1001 은 haystack needle 둘중하나가 값이 없을때 뜨는것

    1348058, 0, -1001 이런식으로 뜨면

    블루스택 화면은 잘가져오는데 이미지\1.bmp 파일을 못가져오는것



    제가 아는선에서 최대한 써봤습니다. 도움이 되셨길바래요..
  • 가족오락관 2016.06.20 20:49
    셋쇼님 항상 정성껏 답글적어 주셔서 감사합니다<br>댓글이 더이상 없어서 이제 여기까지인가보다 했는데 해볼게요<div>Gdip원본파일이 커스텀수정 파일일수도 있겠다는 생각에 원본파일 구할수 있을가요?</div>
  • profile
    셋쇼마루 2016.06.20 21:02

    https://raw.githubusercontent.com/ekqls1995/H-Macro/master/Gdip

    제가 쓰는거에요


    화이팅!

  • 파르페틱 2016.06.21 13:17

    가족오락관님 해결하셨나요..?

    넘겨주는 Title 값은 0x3....값이 출력되는데;;

    bmpHaystack 이 값이 0 이라서 못찾던데..해결하셨나싶어서요 ㅠㅠ

  • 가족오락관 2016.06.21 14:39
    셋쇼님이 많이 도와 주셨지만 안되네요
    ㅋㅋ gdip기반 제이매크로가 도는거보니 컴이상은 아닌것 같네요
    아직 미해결이고 찾아봐야겠어요
  • Allyce 2016.06.24 16:53

    32비트용 Gdip파일이있고 64비트용 Gdip파일이 있습니다 설치된 오토핫키 버젼과 Gdip 파일을 한번 확인해보세요 64비트용 Gdip파일은 32비트도 지원하므로 64비트 Gdip 파일을 찾아보시는게 좋겠네요 참고로 64비트 Gdip의 경우 메모장으로 열어보면 맨위쪽에 Supports: Basic, _L ANSi, _L Unicode x86 and _L Unicode x64 라는 문구가 있습니다 Supports 안에 Unicode x64 부분이 64비트를 지원한다는 말이죠

  • 가족오락관 2016.06.25 20:03
    허걱 이런 중요한 팁이...내일 퇴근하고 해봐야겠군요
    난 안되나보다 하고 있었는데...정말 감사드립니다

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 Gui ActiveX 에 Send,{Enter} 가 안들어가네요 ㅠㅠ. 3 _Crash 2015.10.20 0/0
질문 GUI 2개가 있는 경우 질문입니다. 넌내꺼다솜 2020.04.11 0/0
정보 GUI - 파일(폴더) 목록을 DropDownList로 만들기 14 모바게 2016.06.13 3/0
질문 gui 저장 문제 질문입니다 5 T7GG 2015.08.31 0/0
질문 gui 드롭다운리스트 질문드려요 6 쵸쵸 2016.03.05 0/0
질문 GraySclae,화면단색화 질문올립니다. 2 Hoya2 2017.10.29 0/0
질문 GOTO문 질문입니다!! 소스 확인 부탁드립니다. 4 잘크 2016.09.11 0/0
질문 goto로 탈출했다 생각했는데 loop1회가 더돌아보리는 ... 19 독이든사과 2014.12.31 0/0
질문 gosub을 2개 더 추가 시켰을뿐인데 왜 start 한번 클릭... 8 꿈을낚는아이 2015.08.22 0/0
질문 gocr.exe 이나 vis2 말고 다른 ocr 소스도 있을까요? HyunsD 2021.03.06 0/0
질문 global 변수 질문 1 왜6자냐 2016.05.23 0/0
질문 gidp 이미지검색관련 함수질문이요 5 공유야우 2017.12.21 0/0
질문 GetkeyState 키를 여러개 지정하는법 질문! 7 Jaram 2016.01.12 0/0
질문 getkeystate 정지 시키는방법도 잇나요? 2 바유무 2015.07.04 0/0
질문 GetKeyState 여러키 질문좀요 .. 3 모짱 2016.01.27 0/0
질문 Genymotion에서 PostMessage를 이용하기 에러 질문 6 무림공작 2015.09.07 0/0
질문 Gdi관련 질문좀 부탁드립니다 안녕하세요254 2017.04.05 0/0
자유 gdip인식되는 프로그램뭐있을까요? 5 침묵의고요 2015.12.18 0/0
질문 gdip인식 aero peek 인식 의차이를 알고싶습니다. 1 뀨뀨아딩 2016.11.16 0/0
질문 gdip이용 비활성 서치를 하려는데 인식을 못합니다.. 9 hiki 2017.09.18 0/0
Board Pagination Prev 1 ... 188189190191192193194195196 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글