NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 컴퓨터 매크로 좌표 추출 및 비활성 상대 좌표에 대한 이해.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 엔지엠 매크로에서 이미지를 찾거나 클릭할 위치를 설정하는 방법은 다들 알고 계실겁니다. 이미지 조건 또는 마우스 액션을 사용하면 되는데요. 테스트를 위해 엔지엠 에디터를 실행하고, 새로운 스크립트를 하나 추가하세요.

    cnOuw3h.gif

     

     

    그림판을 실행하고, 아래와 같이 사각형을 하나 그려주세요.

    oj6Mg9k.png

     

     

    아래 동영상을 참고하셔서 사각형의 중심을 클릭할 수 있도록 해주세요. 마우스 좌표를 클릭한 후 클릭할 위치로 이동하고, F1을 누르면 좌표가 고정됩니다.

     

     

    좌표 값을 보면 알겠지만, 윈도우 화면의 절대 좌표로 설정되어 있습니다. 이런식으로 클릭할 위치들을 하나씩 설정해 나가면 됩니다. 이미지 서치 또는 이미지 매치는 찾은 이미지의 중앙을 클릭합니다. 자세한 내용은 [ 이미지 서치 ], [ 이미지 매치 ]를 참고하세요. 이 스크립트를 실행하면 아래 동영상처럼 절대 좌표(윈도우 기준)로 클릭하게 됩니다.

     

     

    이번에는 핸들을 추가하고, 다시 실행 해보세요. 활성 모드에서 마우스 클릭과 별차이점이 없을겁니다.

     

     

    이번에는 그림판을 이동한 후 다시 실행 해보세요. 마우스 클릭에 설정된 클릭 위치는 동일하지만, 실제로 클릭하는 위치는 이동된 그림판의 사각형입니다.

     

     

    이렇게 동작하는 이유는 내부적으로 좌표를 자동으로 활성, 비활성, 하드웨어, 기계식 모드에 따라 자동으로 계산하기 때문입니다. 우선, 마우스 좌표를 설정할 때 해당 위치의 프로그램(그림판)을 인식합니다. 그리고, 내부에 프로그램의 위치를 저장합니다. 사용자는 알 수 없지만요^^; 활성 상태일때는 실제 마우스 좌표만을 사용합니다. 하지만, 핸들 추가로 비활성 상태가 되면 내부에 저장된 프로그램의 위치와 현재 핸들 추가로 선택한 프로그램의 위치를 계산합니다. 처음에 설정한 프로그램의 위치와 현재 프로그램의 위치차를 구한 후 마우스 좌표를 더해줍니다.

    • 처음 프로그램 위치: 100, 100
    • 현재 프로그램 위치: 200, 200
    • 마우스 클릭 위치: 100, 100

     

    이와 같은 환경이라면 마우스 위치 + (현재 프로그램 위치 - 처음 프로그램 위치)와 같이 좌표를 내부에서 계산해서 처리합니다. 단순한 산수라서 크게 어렵지는 않을텐데요. 이렇게 좌표 위치가 바뀌더라도 실제 스크립트의 클릭 액션 속성은 변하지 않습니다. 이 값이 변하게 되면 마우스 위치가 처음 프로그램 위치와 현재 프로그램 위치가 영향을 받기 때문입니다. 그렇지만, 실제 프로그램 기준으로 클릭하는 위치를 알고 싶을수도 있는데요. 이런 경우에는 최종 좌표 사용True로 변경하면 됩니다.

    JA8Djxf.png

     

     

    마우스 결과 좌표가 절대 좌표에서 프로그램 기준의 상대 좌표로 바뀌게 됩니다. 물론, 설정한 마우스 좌표는 변경되지 않습니다. 원본은 유지되어야 하기 때문입니다.

    qb9bTd8.png

     

     

    매크로를 제작할 때 내가 클릭해야 할 마우스 위치 또는 이미지 위치를 알아야만 매크로를 만들 수 있습니다. 그래서, 대부분 마우스 위치를 트래킹(추적) 해주는 별도의 프로그램을 사용합니다. 엔지엠 매크로는 쉽게 마우스 좌표를 추출할 수 있고, 이미지도 캡쳐할 수 있습니다. 오토핫키나 파이썬 매크로와 같이 복잡하게 좌표를 절대좌표나 상대좌표로 변활할 필요도 없습니다. 당연한 이야기지만, 코딩조차 필요하지 않다는건 정말 큰 차이점입니다^^

     

    엔지엠 매크로를 사용해보면 정말 쉽고 간편하다는걸 알 수 있을겁니다. 쉽다는 표현이 다소 상대적일수는 있으나, 코딩해야 하는 프로그래밍 언어들보다 접근성이 좋다는 의미로 받아들이시면 이해하기가 쉬울겁니다. 복잡한 업무 로직을 만들때는 코딩이 더 쉽고 빠를 수 있는데요. 엔지엠 매크로는 이런 약점을 극복하기 위해 디자이너와 커스텀 모듈을 플러그인처럼 추가할 수 있도록 되어 있습니다. 현재 매크로 프로그램중에서 확장성은 최고인 제품입니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.