본문 바로가기
이미지맥스 그리고 루아(lua)/[기본] 스크립트 내장함수

[이미지맥스] 내장함수 마우스제어 Mouse()

by 위치결정 2021. 3. 28.
반응형

이미지맥스는 루아 스크립트 언어를 사용하여 코딩이 가능합니다.

기본적으로 제공하는 기능을 활용하여도 괜찮지만, 코드를 통해 좀더 다양한 기능을 구현할수 있다는 것이 장점입니다.

루아의 기본적인 함수는 물론, 이미지맥스 에서 제공하는 내장함수 라이브러리도 있으니 이를 활용하여 매크로 프로그램을 설계하면 좋을것입니다.

이미지맥스에서 제공하는 함수 라이브러리는 공식카페(cafe.naver.com/imagemax/302)에서 확인하실수 있습니다.

 

이미지맥스에서 제공하는 마우스제어 함수는 다음과 같이 사용합니다.

Mouse(BUTTON, EVENT, X1, Y1, X2, Y2, RX, RY, DELAY_SEC, INTERLATION, SPEED, TYPE)

-- BUTTON : 좌클릭(LBUTTON), 우클릭(RBUTTON), 휠클릭(MBUTTON)
-- EVENT : 클릭(CLICK), 더블클릭(DBCLICK), 드래그(DRAG), 이동(MOVE), 버튼누름(DOWN), 버튼뗌(UP), 휠상승(WHEELUP), 휠하강(WHEELDOWN)
-- X1, Y1 : 클릭좌표(int정수)
-- X2, Y2 : 드래그시 도착 좌표(int정수)
-- RX, RY : 클릭좌표를 중심으로 랜덤 범위(int정수)
-- DELAY_SEC : 더블클릭시 딜레이시간(double실수)
-- INTERLATION : 동작 반복횟수(int정수)
-- SPEED : 가장빠름(FASTEST), 빠름(FASTER), 보통(NORMAL), 느림(SLOWER), 가장느림(SLOWEST)
-- TYPE : 활성(MKEVENT), 비활성(MESSAGE), 드라이버(DRIVER), 하드웨어(HW)

 

각 인수는 순서대로 기입하며 사용하지 않는 인수는 숫자 0을 기입하거나 빈스트링(' ') 등으로 생략이 가능합니다.

실제로 코드를 작성하여 테스트 해보시길 권해드립니다.

-- X좌표:100, Y좌표:100 지점을 클릭
Mouse(LBUTTON, CLICK, 100, 100)

-- X좌표:100, Y좌표:100 지점을 중심으로 X, Y : 50, 50 범위를 랜덤 클릭
Mouse(LBUTTON, CLICK, 100, 100, 0, 0, 50, 50)

-- X좌표:100, Y좌표:100 -> X좌표:200, Y좌표:200 드래그
Mouse(LBUTTON, DRAG, 100, 100, 200, 200)

-- X좌표:100, Y좌표100 지점을 중심으로 X, Y : 10, 10 범위에서 휠을 아래로 동작
Mouse(LBUTTON, WHEELDOWN, 100, 100, 0, 0, 10, 10)

-- X좌표:200, Y좌표:200 지점을 중심으로 X,Y 10,10 범위를 랜덤으로 활성방식으로 클릭
Mouse(LBUTTON, CLICK, 200, 200, 0, 0, 10, 10, 0, 1, SLOWEST, MKEVENT)

 

실제 활용은 이미지맥스의 이미지를 검색함수 ImageSearch()를 사용하여 이미지를 검색후 좌표를 얻어 그 지점을 클릭하는데 가장 많은 빈도로 사용할것입니다.

-- 이미지를 검색하여 리턴받은 이미지의 중앙좌표 ix, iy를 중심으로 (10,10) 범위만큼 랜덤으로 클릭

local ret, acc, ix, iy, sx, sy = ImageSearch('IMAGE_NAME')
if ret == 1 then
    Mouse(LBUTTON, CLICK, ix, iy, 0, 0, 10, 10)
end

 

참 신통합니다.

반응형

댓글