프날 오토핫키 강좌  v2

⚠ 이 강좌는 오토핫키 v2를 다룹니다

지금 보시는 강좌는 과거 오랜 시간동안 알려진 오토핫키(v1.1)의 차세대 버전인 오토핫키 v2를 다루고 있습니다.
만약 구버전인 '오토핫키 v1.1'의 강좌를 찾으신다면 프날 오토핫키 강좌(https://pnal.kr)를 봐주시면 되지만, 새로 오토핫키를 배우신다면 v2 버전을 배우시는 것을 강력히 추천드립니다.

43. PixelGetColor


이번에는 특정 위치의 색상 값을 가져오는 PixelGetColor 함수를 배워보겠습니다.

PixelGetColor

PixelGetColor(X, Y [, Mode])
PixelGetColor 함수의 원형

매개변수

  • X: 색상 값을 가져올 x 좌표
  • Y: 색상 값을 가져올 y 좌표
  • Mode: 색상을 가져오는 방식을 설정

반환 값

  • 해당 좌표의 색상 값 (16진수)

Mode는 선택 매개변수이므로 제외하고 간단하게 유추해보면, (x, y) 좌표를 지정하여 그 좌표의 색상 값을 반환하는 함수임을 알 수 있죠.

1. X, Y

색상 값을 가져올 좌표를 적어줍니다. 좌표 유형은 CoordMode("Pixel", 유형)으로 지정해주면 되고, 미지정시 클라이언트 좌표를 사용합니다. 여타 화면과 관련된 함수와 동일하죠.

2. Mode

색상 값을 가져오는 방식을 지정합니다. 기존 방식을 통해 얻어오는 색상 값이 잘못되었다면 이러한 대체 방식을 사용할 수 있습니다. Alt 방식은 특정 창에서의 부정확하게 색상을 가져오는 현상이 발생할 경우 사용할 수 있는 방식이며, 그마저도 부정확하다면 Slow 방식을 사용할 수 있습니다.

1PixelGetColor(x, y, "Alt")
Mode 매개변수의 사용 - Alt 방식

각각의 방법은 기존 방식에 비해 0.1배, 3배 더 느리게 수행됩니다. 따라서 일반적으로는 생략합니다.

ImageSearchPixelSearch 보다 확실히 쉽습니다. 매개변수도 얼마 없고, 그마저도 선택 매개변수는 거의 모든 경우에서 생략하여 사용합니다. 간단한 예제를 통해 실습해보겠습니다.

실습

1. 현재 마우스 위치의 색상 값을 가져오기

1F1::
2{
3 MouseGetPos(&vx, &vy)
4 MsgBox(PixelGetColor(vx, vy))
5}
6
7F2::
8{
9 ExitApp
10}
예제 1. PixelGetColor의 사용

마우스 커서의 좌표를 가져와, 그 좌표의 색상을 알림 상자에 출력하는 예제입니다. 어려운 코드는 없죠? 위 예제의 4번 줄에서 PixelGetColor 함수의 반환값을 직접 MsgBox 함수에 전달하지 않고, 아래와 같이 변수에 담아서 써주면 코드는 길어져도 더욱 명료해집니다.

4color := PixelGetColor(vx, vy)
5MsgBox(color)
반환값을 담는 변수(color)를 사용한 예시

다음 강은 프로그래밍 문제입니다.

질문하러 가기