제가 쓰려고 만들고 있는 매크로에 쓰고 있는 함수문이고요..
여타 설명은 쓰지 않을 계획입니다.
해석가능하신분만 사용하시면 좋을듯해요...
비활성화상태에서도 가능하고, 대신 창을 가리면 안됩니다.;;; - 이게 제 한계인듯하네요..
;----------------------------------- 픽셀서치(비교값적용) 함수선언
;~ PixelS(화면좌표X,화면좌표Y,비교컬러_0xFFFFFF(민값), 창 ahk_id)
;~ 화면좌표기준 - in active window?
;~ 비활성화가능/화면가리면 안됨
PixelS(st_X,st_Y,Bs_color,ahk_id)
{
CoordMode,Pixel,Screen
; 비교컬러값 ?brg구분 10진수화
ckH = 0x
ckLv = 16 ; 색값변화량?
Bbl := Substr(Bs_color, 3, 2) ; Blue 값
Bbl = %ckH%%Bbl% ; 10진수로 만들기
Bbl := Bbl>>0
Bbl1 := Bbl + ckLv ; 변화량더하기
Bgr := Substr(Bs_color, 5, 2) ; Green 값
Bgr = %ckH%%Bgr%
Bgr := Bgr>>0
Bgr1 := Bgr + ckLv
Bre := Substr(Bs_color, 7, 2) ; Red 값
Bre = %ckH%%Bre%
Bre := Bre>>0
Bre1 := Bre + ckLv
;~ 10진수값임
;~ Bbl (Blue 비교컬러민값)
;~ Bbl1 (Blue 비교컬러맥값)
;~ Bgr (Green 비교컬러민값)
;~ Bgr1 (Green 비교컬러맥값)
;~ Bre (Red 비교컬러민값)
;~ Bre1 (Red 비교컬러맥값)
WinGetPos,wX,wY,aW,aH,ahk_id %ahk_id%
ckX := wX+st_X
ckY := wY+st_Y
PixelGetColor,st_CC,%ckX%,%ckY%
Cbl := Substr(st_CC, 3, 2)
Cbl = %ckH%%Cbl%
Cbl := Cbl>>0
Cgr := Substr(st_CC, 5, 2)?
Cgr = %ckH%%Cgr%
Cgr := Cgr>>0
Cre := Substr(st_CC, 7, 2)?
Cre = %ckH%%Cre%
Cre := Cre>>0
;~ 10진수값임
;~ Cbl (Blue 컬러값)
;~ Cgr (Green 컬러값)
;~ Cre (Red 컬러값)
if ( Bbl<=Cbl and Cbl<=Bbl1 and Bgr<=Cgr and Cgr<=Bgr1 and Bre<=Cre and Cre<=Bre1) ; 비교시작
{
errorlevel=0
}else{
errorlevel=1
}
return errorlevel ; Errorlevel 값 리턴
}
예제)
PixelS(460,470,0x58606D,Ttid)
if errorlevel=0
{
break
}
그럼수고하세요 ^^
감사합니다!!
공부 좀 해봐야겠네요~ㅋ