[Autohotkey][14-외전] 오토핫키 완벽분해 - PixelGetColor
안녕하세요. 쿠과자입니다.
저번 시간에 PixelSearch, 픽셀 서치에 대해서 알아봤었죠?
2019/04/15 - [프로그래밍/AutohotKey] - [Autohotkey][14] 오토핫키 완벽분해 강좌 - PixelSearch 픽셀서치
여기에서 PixelGetColor 를 살짝 언급했었는데, 이에 대해서 추가적인 설명을 해드리면 좋겠다 싶어
외전으로 따로 글을 쓰게 되었습니다.
색상 코드를 가져오는 PixelGetColor
PixelGetColor는 말 그대로 특정 좌표의 색상 코드를 가져오는 코드입니다.
PixelGetColor, OutputVar, X, Y , Mode
OutputVar의 경우 색상 코드를 내보내는 변수며,
X, Y는 색상 코드를 찾을 X,Y좌표
Mode의 경우 RGB를 적으면 RGB모드로(픽셀서치 참고) Alt나 Slow를 적으면 다른 방법으로 PixelGetColor를 진행합니다(참고로 둘다 적으면 안됩니다.)
F6::
MouseGetpos,ax,ay
mousemove,0,0
PixelGetColor, OutputVar, ax, ay
msgbox,%OutputVar%
return
예문입니다.
MouseGetPos는 마우스 위치를 뒤의 변수에 저장하는 명령어인데.. 아무튼 생략하고
여기에서 Mousemove, 0, 0을 해준 이유는 뭘까요?
바로 그 위치에서 바로 PixelGetColor를 하게 되면 마우스의 픽셀이 잡히기 때문입니다.
그렇기 때문에 픽셀겟컬러가 제대로 안되기 때문에, 위치를 변수에 담아둔 후 마우스 위치를 변경해 겟컬러를 하는 방식으로 사용하곤 합니다.
PixelSearch 대신 PixelGetColor 사용하기
픽셀겟컬러도 결국 픽셀의 색상값을 가져오기 때문에
if문을 사용하면 PixelSearch 대용으로 사용이 가능합니다.
F6::
MouseGetpos,ax,ay
mousemove,0,0
PixelGetColor, OutputVar, ax, ay
if(Outputvar = 0xE4E4E4)
{
msgbox,Found! %OutputVar%
}
return
위와 같이 픽셀겟컬러를 한 이후에, Hex값(0x어쩌고저쩌고) 끼리 비교를 하게 되면
정상적으로 픽셀서치 대용으로 사용이 가능합니다.
이 경우에는 오직 단 한군데에서 단 한점의 완벽한 픽셀의 색을 검사하기 때문에
아무래도 픽셀서치보다 속도도 빠르고 정밀하게 검사가 가능합니다.
상황에 따라서 잘 사용해 보시길 바랍니다.
참고
https://autohotkey.com/docs/commands/PixelGetColor.htm
↓ 공감♥ 버튼을 눌러주시면
블로거에게 힘이 됩니다!
'프로그래밍 > AutohotKey' 카테고리의 다른 글
[Autohotkey][16] 오토핫키 강좌 - GUI (1) (0) | 2019.05.12 |
---|---|
[Autohotkey][15] 오토핫키 강좌 - 기준점 바꾸기! Coordmode (0) | 2019.05.08 |
[Autohotkey][14] 오토핫키 완벽분해 강좌 - PixelSearch 픽셀서치 (0) | 2019.04.15 |
[Autohotkey][13] 오토핫키의 꽃 ImageSearch - 2 (7) | 2019.04.08 |
[Autohotkey][12] 오토핫키의 꽃 ImageSearch - 1 (3) | 2019.04.08 |