오토핫키 커뮤니티

질문
2016.06.02 17:16

Gdip 이미지서치에서요

조회 수 680 추천 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
분류 제목 글쓴이 최근변경 추천
질문 Gdip 이미지서치 계산기는 검색이 되는데 블루스택은 ... 5 가족오락관 2016.06.14 0/0
질문 gdip 이미지서치 질문드립니다. 5 영창이염 2016.10.29 0/0
질문 gdip 이미지서치 질문입니다. 2 비빔면 2015.10.14 0/0
질문 gdip 이미지서치 질문입니다. 4 꾸기 2017.09.26 0/0
질문 gdip 이미지서치 질문입니다. 1 naninani 2019.01.23 0/0
질문 Gdip 이미지서치에서요 4 셋쇼마루 2016.06.03 0/0
공유 gdip 이용한 그레이스케일 데드비프 2022.09.10 0/0
질문 gdip 이용해서 흰색 제외하고 전부 검은색 2 감사합니다다다 2018.01.02 0/0
질문 gdip 인식률에 대해서 질문좀드려요 도방 2017.04.14 0/0
자유 Gdip 지정된 좌표 사각형으로 캡쳐하기! 8 셋쇼마루 2016.10.29 2/0
질문 gdip 질문 드립니다. 3 더러럭배 2017.11.29 0/0
질문 gdip 캡쳐 영역에 대해 질문 드립니다. 2 마이충의분노 2018.02.02 0/0
질문 GDIP 튜토리얼 해보신분 있나요? 프리 2016.05.31 0/0
정보 Gdip_all.ahk를 이용한 Bitmap의 size 변경 함수 6 할거엄따구 2022.12.14 1/0
질문 Gdip_BitmapFromHWND 함수 사용시 질문드립니다. 1 알프리 2015.11.18 0/0
질문 Gdip_BitmapFromHWND. Postmessage 질문 3 허럴럴렁 2016.01.11 0/0
질문 Gdip_CreateBitmapFromClipboard 함수 질문 드립니다. 알프리 2015.11.17 0/0
질문 Gdip_DisposeImage 질문이요. 2 여행용티슈 2019.12.01 0/0
질문 gdip_imagesearch 관련 클릭 질문드립니다 2 영웅거북 2016.07.19 0/0
질문 gdip_imagesearch 사용하시는 분들 중에 tolerance 건... 12 매크로맨서 2015.10.08 1/0
Board Pagination Prev 1 ... 111213141516171819 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글