매크로

조회 수 3744 추천 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
    허걱 이런 중요한 팁이...내일 퇴근하고 해봐야겠군요
    난 안되나보다 하고 있었는데...정말 감사드립니다

최근 추천글

오핫 제작합니다 1 설입 2024-06-18 23:45 +2
List of Articles
분류 제목 글쓴이 최근변경 추천
질문 블루스택 완전히 종료시키는 명령어좀 부탁드립니당(무... 3 welchs 2016.07.04 0/0
자유 요새 오토핫키로 매크로 만드는 재미에 빠졌어요 3 퓨쥬 2016.08.07 0/0
질문 ahk 윈도부팅시 자동실행되게 시작등록했을때.. 3 검정다람쥐 2016.06.27 0/0
질문 autohotkey unicode 32-bit의 작동이 중지되었습니다 6 땀꾸루즈 2016.07.02 0/0
정보 소개 : CJon class 1 와이로 2016.06.26 2/0
질문 postmessage 명령 질문입니다. 5 왕초보이에으 2016.06.30 0/0
질문 비활성클릭 질문 5 왜6자냐 2016.06.25 0/0
질문 ADB드래그 혹시 명령어 다시한번만 봐주세요 ~ 4 제발등업좀2 2016.07.02 0/0
질문 비활성 이미지서칭 문제..질문입니다. 4 파르페틱 2016.06.22 0/0
질문 루프문 세개를 돌리고싶은데요 1 감성폭발 2016.06.21 0/0
질문 Gdip이미지 서치하고 싶은데 인식이 안됩니다 13 가족오락관 2016.06.25 0/0
질문 ADB (몽키) 클릭 및 드래그관련 ... 5 제발등업좀2 2016.07.02 0/0
질문 비활성화 질문+디버깅 영상 추가(T7GG님 코딩) 6 bleuG 2016.06.26 0/0
질문 오토핫키 멀티쓰레드(?) 3 다홍이 2016.06.20 0/0
질문 모니터상에 선을그을수있는 방법은 없을까요? [ 칼무리... 1 강군s 2016.06.19 0/0
질문 ADB 중에서 .. 누르다 !! 는 어케 해야하는 지 아시는분? 제발등업좀2 2016.06.17 0/0
질문 ADB캡쳐시 ... A알파값 지포스 710 에서 도 그러네요 ㅠㅠ 4 제발등업좀2 2016.06.17 0/0
질문 녹스 비활성 좌표클릭 질문요 2 총각미남 2016.06.16 0/0
질문 단축키실행질문이요 2 혜띠뿌뿌 2016.06.17 0/0
질문 postmessage의 처리 적용 유무에대해 아시는분? 1 FOHENN 2016.06.15 0/0
Board Pagination Prev 1 ... 114115116117118119120121122 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글