지존오토

[2] 자료17. 마우스커서가 안찍히는경우 커서인식방법

  • 등록일 : 2013-06-23
  • 조회수 : 103908

이글은 특정 프로그램에서 스샷을 찍어 불러올때  마우스커서가 안 불러와지는 경우 설정하는 방법을 예를 들어 설명한것입니다.
(특정프로그램에 설정하는것을 올릴수가 없어서 윈도우 화면으로 예를들어 설명한것입니다.)
그렇기 때문에 밑에 설정한것처럼 윈도우 화면에서 연습을하면 절대 설정한방식으로는 작동이 안됩니다.
그렇다보니 꼭 스샷을 찍어 불러올때 마우스커서가 안 불어와지는 프로그램에서 밑에 설정한것처럼 설정을해서 사용을 하세요. 

*************************************************************************

스샷을찍어 불러올때 마우스커서 저장하기가 안뜨는 경우가 있는데 이런경우는 스샷을 찍을 당시에 마우스커서가
스샷 찍는창 밖에 있어서 안찍힌경우가 있고 또 다른 경우는 불러온 스샷상에는 마우스커서가 보이지만 실제로는
마우스커서가 존재하지 않기 때문에 마우스커서 저장하기가 않뜨는 것입니다.
이경우는  해당 프로그램에서 마우스커서 모양을 그려줘서 보이는 경우인데 이런 경우 어떤식으로 마우스 커서
인식을 하는지 예를 들어 설명을 해보겠습니다.

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
여기서 설정 하려는 것은 6개의 인식점을 찍어 6개의 인식점위치를 차례대로  마우스커서로 이동시키면서 이동할때마다
마우스커서가 인식 하도록한 마우스커서 모양과 동일한지를 범위검색으로 검색해 같으면 그 위치를 클릭을 하고
다르면 다음 인식점 위치로 이동해 마우스커서 모양을 검색하는것입니다.  
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

일단 먼져 스샷을 찍어야 하는데 적용하시려는 창을 열어줍니다.
(아직까지 스샷 찍는 방법과 불러오는 방법은 이전에 많이 설명했기 때문에 스샷찍는방법과 스샷 불러오는 방법은
생략하도록 하겠습니다.
모르시는 분들은 이전자료 참조해주세요.)

스샷을 찍을때 위의 그림처럼 인식할 마우스커서모양으로 변했을때 스샷을 찍어줍니다.

스샷을 찍어서 불러오시면 마우스커서 저장하기창이 안뜨실겁니다.
(윈도우화면에서는 커서 저장하기 창이 열리지만 예를 들어서 설명하는것입니다.)

스샷을 불러왔으면 스샷상에 찍힌 마우스커서 모양을 인식할수 있도록 인식점을 찍어야 합니다.

이제 인식점을 찍어야 하는데  인식점을 찍을때 주의해야 할점이 있습니다.
-인식점이 마우스커서보다 큰인식점을 찍어서는 안됩니다.
-인식점이 마우스커서 밖을로 삐져 나와도 안됩니다.
-적용창 화면의 색상과 차별화된 마우스커서의 특징을 찾아 인식점을 찍어줍니다.

그렇기 때문에 마우스커서 크기에 따라 인식점 크기를 잘 선택해서 찍어줍니다.

위의 이미지 확대창에 빨강 사각표시는 인식점 찍은 위치를 표시한것입니다.
인식점을 찍은뒤 인식점이름을 "마우스커서모양" 이라고 적어줍니다.

*********************************************************************
인식점 찍는 방법은 4가지가 있는데

왼쪽Shift+마우스 좌버튼 1x1(점)픽셀
왼쪽Shift+마우스 우버튼 3x3(점)픽셀
왼쪽Ctrl +마우스 좌버튼 7x7(점)픽셀
왼쪽Ctr+왼쪽Shift+마우스 좌버튼을 누르면 특대형 인식점을 찍을 수 있습니다.(가로/세로 9~401픽셀까지)

이런식으로 1X1 3X3 7X7 특대형 이미지 점을 찍을수있습니다.
(인식점 찍는방법도 생략 하도록 하겠습니다.)
********************************************************************* 

마우스 커서를 인식할수 있도록 인식점을 찍었으면 이제 인식점을 6개 정도 찍고 이름을 차례대로
"0번 인식위치" 부터 "5번 인식위치" 까지 차례대로 이름을 적으며 인식점을 찍어줍니다.


인식점을 6개 찍는 이유는 6개의 인식점 찍은 위치를 마우스커서로 이동시키면서 마우스커서 모양이 인식하려고
했던 마우스커서 모양과 같으면 마우스를 클릭하는것을 설정해보려고합니다.


인식점 설정다했으면 범위를 찍어 6개의 인식점 찍은 위치만큼 범위를 늘려줍니다.
(마우스커서가 범위안에 있는 6개의 인식점위치를 이동하면서 인식하도록한 마우스커서모양과 동일하면 버튼을
클릭하는것을 설정 할것입니다.)

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

인식점 설정을 다했으면 이제 항목을 만들어야 하는데, 어떤 구조로 만들지를 미리 꼼꼼이 생각한 다음 핵심이 되는 항목들을 이름만 만들어 줍니다. 즉,
뼈대를 만들어 주는 것이며, 실제 작업을 하면서 뼈대에 필요한 새로운 항목들을 추가해주고, 각 항목들에 내용을 채워주면 완성이 되는 것입니다.

밑에 항목 추가는 제가 생각해놓은 구조이기에 밑에 항목 추가한 것처럼 항목들을 추가해주세요

항목 만드는 방법을 모르시는 분들은 이전 자료를 참조해주세요

선두(V(채크)항목이름 : "변수에 인식할 위치 넣기" 신규저장~
선두(채크안함)항목이름 : "인식위치로 마우스 이동" 신규저장~
선두(채크안함)항목이름 : "인식위치에 마우스커서모양이 같으면" 신규저장~

3개의 항목을 다 만들었으면 이제 각 항목별로 성정을 하겠습니다

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

맨위에 있는"변수에 인식할 위치 넣기" 항목을 선택해주세요.

이 항목에서는 변수①의 변화에 맞추어 변수②에 인식점들을 순서대로 넣어주는 기능을 합니다.

"변수에 인식할 위치 넣기" 항목에서 [실행할 명령 설정] 에서 [변수]버튼을 눌러줍니다.
 

변수창이 열리면 [조건없음]버튼을 누른뒤 위의 그림처럼 설정을 한뒤에 [끝에 추가] 버튼을 눌러 추가해줍니다.

이런식으로

변수① = 1 } > {변수② = "1번 인식위치" 이미지 인식점}

변수① = 2 } > {변수② = "2번 인식위치" 이미지 인식점}

변수① = 3 } > {변수② = "3번 인식위치" 이미지 인식점}

변수① = 4 } > {변수② = "4번 인식위치" 이미지 인식점}

변수① = 5}  > {변수② = "5번 인식위치" 이미지 인식점}

나머지 5개의 인식점도 변수설정을 해서 추가해줍니다.

[실행할 명령 설정]을 다했으면 [다음 항목]에서 [다음 순서로 분석할 항목]버튼을 눌러줍니다.

위의 그림처럼 설정을 하신다음 [끝에 추가]버튼을 눌러 추가해 줍니다
(여기서는 "설정한 모든 조건은 참이지만,일치하는 변수조건이 없는경우"이것은 현재항목의 조건설정에 설정된 조건이 참이거나 아무것도
설정하지 않은 경우 무조건 참이고 [다음항목] 설정에서 조건이 맞는 것이 없는경우 다음 연결항목으로 넘겨는 것입니다)


[다음 항목] 설정까지 다하셨으면 [변경저장] 버튼을 눌러 변경저장 해줍니다
(변경저장을 안하시면 설정변경한 내용이 저장 안되기 때문에 다른 항목을 선택 하시면 변경하신 설정은 없어집니다)

이 항목에서는 변수①의 변화에 맞추어 변수②에 인식점들을 순서대로 넣어주는 기능을 합니다.
("인식위치로 마우스 이동"항목에서 마우스를 이동시키기 작업인데 변수①의 숫자가 증가 할때마다 마우스의
이동위치도 변수②에 들어간 인식점위치에 따라 이동하게 하기 위한 설정입니다.)

[실행할 명령 설정]에 설정한 행동을 하면 다음 연결항목인 "인식위치로 마우스 이동"항목으로 넘어가게 됩니다.


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

"변수에 인식할 위치 넣기" 항목 설정을 다했으면 이제 "인식위치로 마우스 이동" 항목을 선택해주세요.

이항목에서는 변수②에 들어가 있는 인식점위치로 마우스를 이동하는것입니다.

"인식위치로 마우스 이동" 항목에서 [실행할 명령 설정] 에서 [마우스]버튼을 눌러줍니다.


마우스 설정창이 열리면 [변수위치로 커서 이동]에서 "변수②"로 선택 한 다음 [끝에 추가]버튼을 눌러 추가해줍니다.
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
[실행할 명령 설정] 에서 [시간 지연]버튼을 눌러줍니다.
(시간지연 그림은 생략 하도록 하겠습니다.)
[시간지연]창이 열리면 기본값 그대로 [끝에 추가]버튼을 눌러 줍니다.
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
 [실행할 명령 설정]을 하신후 [다음 항목]에서 [다음 순서로 분석할 항목]버튼을 눌러줍니다

위의 그림처럼 설정을 하신다음 [끝에 추가]버튼을 눌러 추가해 줍니다
(여기서는 "설정한 모든 조건은 참이지만,일치하는 변수조건이 없는경우"이것은 현재항목의 조건설정에 설정된 조건이 참이거나 아무것도
설정하지 않은 경우 무조건 참이고 [다음항목] 설정에서 조건이 맞는 것이 없는경우 다음 연결항목으로 넘겨는 것입니다)


[다음 항목] 설정까지 다하셨으면 [변경저장] 버튼을 눌러 변경저장 해줍니다
(변경저장을 안하시면 설정변경한 내용이 저장 안되기 때문에 다른 항목을 선택 하시면 변경하신 설정은 없어집니다)

이항목에서는 변수②에 들어가 있는 인식점위치로 마우스를 이동하는것입니다.

[실행할 명령 설정]에 설정한 행동을 하면 다음 연결항목인 "인식위치로 마우스 이동"항목으로 넘어가게 됩니다.

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

"인식위치로 마우스 이동" 항목 설정을 다했으면 이제 "인식위치에 마우스커서모양이 같으면" 항목을 선택해주세요

이항목에서는 설정한 범위 안에서 검색하도록한 마우스커서 모양과 동일한  것이 있으면 그위치로 마우스를 이동해 클릭을 하는것을 설정한것입니다.

"인식위치에 마우스커서모양이 같으면" 항목에서 [조건 설정] 에서 [범위인식]버튼을 눌러줍니다.

범위 설정창이 열리면
[검색할 대상 범위]에서 범위를 "인식범위-1(기본값이름)"을 선택해 줍니다.
[비교방법]은 "같은 이미지가 있으면" 으로 선택 해줍니다.
[검색할 이미지]는 "마우스커서모양"으로 선택 해줍니다.
설정을 다하신후 [끝에 추가]버튼을 눌러 추가해줍니다.
(설정한 범위 안에서 "마우스커서모양"과 같은 커서가 있는지 검색을 하는것을 설정한것입니다.)

[조건 설정]을 하신후 [실행할 명령 설정]에서 [마우스]버튼을 눌러줍니다.

마우스 설정창이 열리면 [범위검색 일치 위치로 이동]에서 "인식범위-1"을 선택한 다음 [끝에 추가]버튼을 눌러 추가 해줍니다.
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
[실행할 명령 설정] 에서 [시간 지연]버튼을 눌러줍니다.
(시간지연 그림은 생략 하도록 하겠습니다.)
[시간지연]창이 열리면 기본값 그대로 [끝에 추가]버튼을 눌러 줍니다.
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
[실행할 명령 설정]에서 [마우스]버튼을 눌러줍니다.
(마우스설정 그림은 생략 하도록 하겠습니다.)
[마우스설정]창이 열리면 기본값 그대로 [끝에 추가]버튼을 눌러 줍니다.
(기본값은 좌버튼에 버튼클릭 이 선택되어 있는상태) 
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
[실행할 명령 설정] 에서 [시간 지연]버튼을 눌러줍니다.
(시간지연 그림은 생략 하도록 하겠습니다.)
[시간지연]창이 열리면 기본값 그대로 [끝에 추가]버튼을 눌러 줍니다.
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
[실행할 명령 설정]에서 [변수]버튼을 눌러줍니다.

변수설정창이 열리면 위의 그림과 같이 설정하신후 [끝에 추가]버튼을 눌러 추가 해줍니다.
(위의 그림처럼 설정하는 이유는 현재항목에서 조건설정에 조건이 맞으면 "변수①"에 숫자 1을 더해서 "변수①"의 숫자를 증가시키기 위한것입니다.) 


[실행할 명령 설정]에서 [변수]버튼을 눌러줍니다.

변수설정창이 열리면 위의 그림과 같이 설정하신후 [끝에 추가]버튼을 눌러 추가 해줍니다.
(위의 그림처럼 설정한 이유는 "변수에 인식할 위치 넣기" 항목에서 "변수①"의 숫자를 0부터 5까지 설정해놨는데 
"변수①"이 5까지 증가하면 "변수①"을 다시 0으로 초기화 시켜 처음시 반복하도록 하기위한 것입니다.) 

[실행할 명령 설정]을 하신후 [다음 항목]에서 [다음 순서로 분석할 항목]버튼을 눌러줍니다.

위의 그림처럼 설정을 하신다음 [끝에 추가]버튼을 눌러 추가해 줍니다
(여기서는 "설정한 모든 조건은 참이지만,일치하는 변수조건이 없는경우"이것은 현재항목의 조건설정에 설정된 조건이 참이거나 아무것도
설정하지 않은 경우 무조건 참이고 [다음항목] 설정에서 조건이 맞는 것이 없는경우 다음 연결항목으로 넘겨는 것입니다)

[실행할 명령 설정]을 하신후 [다음 항목]에서 [다음 순서로 분석할 항목]버튼을 눌러줍니다.

위의 그림처럼 설정을 하신다음 끝에 [추가 버튼]을 눌러 추가해 줍니다.
(조건설정에 조건이 거짓이면 처음 선두항목으로 보내 처음부터 재검색하도록 하기 위한것입니다.)


[다음 항목] 설정까지 다하셨으면 [변경저장] 버튼을 눌러 변경저장 해줍니다
(변경저장을 안하시면 설정변경한 내용이 저장 안되기 때문에 다른 항목을 선택 하시면 변경하신 설정은 없어집니다)

현재 항목은 설정한 범위 안에서  "마우스커서모양(인식점)"과 동일한 마우스커서를 찾아 마우스를 그위치로 이동해
마우스를 한번 클릭 하도록 한 것입니다.
그다음에  변수①의 숫자를 1씩 증가시키고 변수①숫가가 5보다 크거나 같으면 변수①을 0으로 초기화 시킵니다.

조건설정에 조건이 맞아 [실행할 명령 설정]에 설정한 행동을 하면 다음 연결항목인 "인식위치로 마우스 이동"항목으로 넘어가게 됩니다.

조건설정에 조건이 거짓이면 처음 선두항목으로보내 처음부터 재검색하도록 합니다.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

설정한걸 불러다 실행하면 첫번째 인식점으로 마우스커서가 이동이 되서 마우스커서 모양이 인식하도록 한 모양인
손가락 모양으로 변했는지 확인해서 손가락 모양이면 그위치를 마우스로 한번클릭을하고 손가락 모양이 아니면 
다음 인식점 위치로 이동해서 마우스커서가 손가락 모양인지 아닌지를 검색하게됩니다.
이런식으로 6개의 인식점위치를 이동하면서 마우스커서모양을 확인하는것입니다. 

만약에 마우스 커서 인식할위치를 6개 이상으로 늘리고 싶으시면  예를 들어 20개까지 늘리고 싶으시다
20개까지 늘리는것도 어렵지 않습니다.
선두항목인 "변수에 인식할 위치 넣기"항목에서 변수에 넣는 인식점 설정을 20개까지 늘린다음 마지막 항목인
"인식위치에 마우스커서모양이 같으면"항목에서 변수①이 5보다 크거나 같은경우 0으로 초기화 하도록 했는데
선두항목에서 20개를 늘렸기때문에  변수는 0부터 시작했기 때문에 20개면  마지막 변수가 19가 되니 변수①이
19보다 크거나 같으면 변수①을 0으로 초기화 한다고 변경해주시면 됩니다.

질문은 댓글로~

코멘트