매크로

조회 수 3730 추천 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
분류 제목 글쓴이 최근변경 추천
질문 타이틀설정 어찌하나요?? 7 낭군이 2015.01.26 0/0
질문 이지미 서치 할때요 3 PMS 2015.01.20 0/0
질문 비활성 마우스클릭 질문이요~ 9 PMS 2015.01.22 0/0
질문 비활성매크로 PostMessage 사용 시 클릭이 안되는 문제 13 시나브로 2015.01.20 0/0
질문 배움의 1일차인데. 이미지서치를 이용한 postmessage ... 10 두근이 2015.04.25 0/0
자유 역시 더미다로 패킹을 하면 1분도 안돼서 풀수있네요 ^ 6 캔디염 2015.01.19 0/0
질문 이미지 서치 문의입니다. 1 보득 2015.01.19 0/0
자유 노트북 해상도 안맞아서 불편하네요 ㅜ 3 그을린요강 2015.01.19 0/0
질문 별이되어라 오토핫키 스크립트 구할수 없나여? 2 김곰돌 2015.02.04 0/0
질문 핸콕님 매크로 2캐릭 매크로로 하려면 어떻게해야하나... 8 닉넴없다 2015.03.08 0/0
질문 노트북에서 이미지서치가 안됩니다... 3 yodda 2015.01.19 0/0
자유 쓸대없이 자꾸 줄수만 늘어나는 기분...qㅜㄴ 12 파더 2015.01.20 1/0
질문 loop질문 제발좀 . 2 제발등업좀2 2015.01.19 0/0
질문 postmessage 관련 따끔한 지적 부탁드립니다. 18 도비123 2015.01.19 0/0
정보 지니모션 드래그 함수 1 연구원 2015.01.21 1/0
질문 오토핫키좀 배워보려합니다 6 PMS 2015.01.23 0/0
질문 아래 글에 이어 이미지서치 질문드려요~ ㅠㅠ 13 시니짱 2015.01.17 0/0
질문 이미지서치 관련 질문드립니다 ㅠㅠ 제발등업좀2 2015.01.16 0/0
정보 지니모션 테마 및 윈도우 버전 상관없이 해상도 변경하... 로뎀나무 2015.01.16 2/0
자유 이미지서치의 인식률 값 관련 질문 2 Hangoon 2015.01.16 0/0
Board Pagination Prev 1 ... 188189190191192193194195196 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글