본문 바로가기

개인공부/python

나 혼자 하는 프로젝트 2탄 - GUI 프로그래밍(13) - 화면캡쳐 프로그램

앞서 이미지 합치기 프로그램을 만들때 자동으로 화면을 캡쳐해주는 프로그램 코드를 작성한 적있다.

해당 코드는 타이머에 의해 동작하게 되어 있었기에, 사용자에게 원하는 화면을 바로 캡쳐하는 기능은 제공하지 않았다.

 

사용자가 특정 키를 눌렀을때, 키 값을 받아 특정한 동작을 수행하는걸 흔히 후킹 이라고 한다.

이를 위해 먼저 keyboard 라이브러리를 설치해 주자.

pip install keyboard

이제 해당 라이브러리를 활용하여 좀더 유용한 홥면캡쳐 프로그램을 만들어 보자.

앞서 작성하여 둔 코드를 꺼내서 살펴보면,

for문을 통해 ImageGrab.grab() 화면을 캡쳐하고 캡쳐한 화면을 img.save() 통해 정해진 이름으로 저장한 뒤 2초 대기하는 동작이다. 이걸 총 10번 반복하고 작업은 끝난다.

기존 시간 기준으로 동작하던 것보다 조금 길어보이지만, 내용물의 거의 비슷하다.

curr_time 은 저장될 이미지 파일 이름에 시간정보를 넣어주기 위해 추가한 내용이다.

add_hotkey()는 사용자가 입력할 키와 키를 입력했을때 실행할 함수를 인수로 받으며,

wait()는 프로그램의 종료할때 사용할 키를 지정해 준다.

이제 해당 프로그램을 실행한 뒤 "F9"키를 누르면 자동으로 파일이 생성되고, 캡쳐한 화면이 이미지로 저장된다.

저장된 파일