오토핫키 커뮤니티

질문
2016.06.02 17:16

Gdip 이미지서치에서요

조회 수 681 추천 0 댓글 4

BmpHaystack

bmpNeedle


이 두 값이 잘 나왔는데요


RET 값이 계속 0만 나오는경우엔


어디가 잘못된건가요?



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

mgsbox, %bmpHaystack%||%bmpNeedle%||%RET%

if(RET = 1)

{

return true

}

else

{

return false

}

}



메세지박스에 3248684||3246845||0


이런식으로 출력이되요


이전에 쓰던 Gdip서치함수는 


BmpHaystack

bmpNeedle


이 두값이 잘 나오기만하면 RET는 1이 출력됬었는데


왜 두값이 잘 나오는데도 0이나오는지 ㅜㅜ


  • 247천사잉 2016.06.02 17:55

    안녕하세요 셋쇼마루님 Gdip 글 보고 많이 배워서 활용하고 있는데요,

    제가 만드는 매크로에도 그러한 현상이 있는데 다른건 다 잘되도 ret 값이 0 이 나오는 마커는 어떤걸로 떠봐도 0이 반환이 되는데 주변 알파값?으로 주변 배경이 변한다던가.. 그런 현상때문에 저는 그냥 아예 그 부분을 포기하고 있네요.. 미천한 지식으로는 주변 투명도 때문에 배경이 변해서 라는 추측 밖에 못했습니다.. ㅠㅠㅠ..

  • profile
    셋쇼마루 2016.06.02 19:49
    RET 가 0이 나오는게 아마도

    bmpHaystack := Gdip_BitmapFromHwnd(Hwnd) ;블루스택 화면가져옴
    bmpNeedle := Gdip_CreateBitmapFromFile(Image) ; 이미지파일 가져옴

    두개 매치했을때 현재 블루스택화면에 이미지가 없을경우인것같습니다..

    -1001
    -1002
    -1003 등등 나오는경우는

    If !( pBitmapHaystack && pBitmapNeedle )
    Return -1001
    If Variation not between 0 and 255
    return -1002
    If ( ( OuterX1 < 0 ) || ( OuterY1 < 0 ) )
    return -1003
    If SearchDirection not between 1 and 8
    SearchDirection := 1
    If ( Instances < 0 )
    Instances := 0
    Gdip_GetImageDimensions(pBitmapHaystack,hWidth,hHeight)
    If Gdip_LockBits(pBitmapHaystack,0,0,hWidth,hHeight,hStride,hScan,hBitmapData,1)
    OR !(hWidth := NumGet(hBitmapData,0))
    OR !(hHeight := NumGet(hBitmapData,4))
    Return -1004
    Gdip_GetImageDimensions(pBitmapNeedle,nWidth,nHeight)
    If(Trans = 0)
    {
    Trans := ""
    }
    If(Trans = "White")
    {
    Trans := 0xFFFFFF
    }
    If(Trans = "Black")
    {
    Trans := 0x000000
    }
    If Trans between 0 and 0xFFFFFF
    {
    pOriginalBmpNeedle := pBitmapNeedle
    pBitmapNeedle := Gdip_CloneBitmapArea(pOriginalBmpNeedle,0,0,nWidth,nHeight)
    Gdip_SetBitmapTransColor(pBitmapNeedle,Trans)
    DumpCurrentNeedle := true
    }
    If Gdip_LockBits(pBitmapNeedle,0,0,nWidth,nHeight,nStride,nScan,nBitmapData)
    OR !(nWidth := NumGet(nBitmapData,0))
    OR !(nHeight := NumGet(nBitmapData,4))
    {
    If ( DumpCurrentNeedle )
    Gdip_DisposeImage(pBitmapNeedle)
    Gdip_UnlockBits(pBitmapHaystack,hBitmapData)
    Return -1005

    요기 나와있는것 같네요

    대표적으로

    bmpHaystack
    bmpNeedle

    요게 둘이 안맞을때 -1001이 뜨는것같고 나머지도 저기서 보면될것같아요.......

    저도 초보라;
  • profile
    셋쇼마루 2016.06.02 19:45

    아....... 해결했습니다 ㅂㄷㅂㄷ 이미지파일이 없는 화면에서 계속 실행하면서 뻘짓하고있었네요 ㅂㄷㅂㄷ

  • 247천사잉 2016.06.03 01:24
    그렇군요 저도 보니까 셋쇼마루님이 올려주신 함수에 이미지 스크린샷을 찍는 거를 하나하나 실행 할때마다 찍히는걸 보니 게임화면은 갱신이 되는데 블루스택을 캡쳐 했을때는 없는 화면으로 나오더군요.. ㄷㄷ 했습니다

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 질문이요. 4 왜6자냐 2016.06.06 0/0
질문 질문합니다.. 5 셋쇼마루 2016.06.05 0/0
질문 autohotkey 에러 뜨면서 꺼지는데ㅠㅠ 1 세나세린세나 2016.06.03 0/0
질문 Gdip 이미지서치에서요 4 셋쇼마루 2016.06.03 0/0
질문 비활성 클릭 하나 질문드려요.... 14 colt 2016.06.02 0/0
자유 Gdip 지정된 좌표 사각형으로 캡쳐하기! 8 셋쇼마루 2016.10.29 2/0
질문 블루스택 감지 관련 문제 해결좀 부탁드려요 ㅠ 2 247천사잉 2016.06.02 0/0
질문 이게 무슨 오류인가요? 5 셋쇼마루 2016.05.31 0/0
질문 GDIP 튜토리얼 해보신분 있나요? 프리 2016.05.31 0/0
질문 GUI 에서 입력받은 문자열 출력 질문입니다. 4 우리강아지 2016.06.03 0/0
질문 이미지서치후에 2 셋쇼마루 2016.05.31 0/0
질문 스샷과 adb관련 밑에 글 보고 질문드립니다. 1 우리강아지 2016.06.01 0/0
질문 블루스택을 인식을 못하는건지 ㅠㅠ 도와주세요 12 247천사잉 2016.05.31 0/0
질문 Gdip 서치 질문이요 ㅠㅠ 2 셋쇼마루 2016.05.31 0/0
질문 구글번역Api 이것 되시는분 2 우후훅 2016.06.14 0/0
질문 구이 창 질문합니다 4 셋쇼마루 2016.05.30 0/0
자유 GUI 꾸미기 7 이무 2016.05.30 0/0
질문 함수 winmove 질문드립니다 4 PlusK 2016.05.29 0/0
질문 매크로짠걸로 친구컴에다 실행하니 이미지를 못찾습니다 5 welchs 2016.08.09 0/0
질문 변수를 직접 실행 할수 있나요? 2 MC하얀늑대 2016.05.29 0/0
Board Pagination Prev 1 ... 117118119120121122123124125 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글