본문 바로가기
** My Projects

파이썬으로 화면 캡처 프로그램 만들기 - 개인프로젝트 02

by 심코딩 2022. 6. 28.

이전 포스팅에 이어서 오늘도 개인프로젝트 진행하고 있는거에 대해 포스팅 해보려 한다.

 

파이썬으로 화면 캡처 프로그램 만들기 - 개인프로젝트 01

회사에서 업무를 하다 보면 가끔 정말 짜증 날때가 있다. 업무를 하다 보면 화면 내에 있는 특정 부분을 캡처해서 메일로 발송 한다던지, 내가 따로 사용을 해야 하는 경우가 굉장히 빈번하게 발

s1mcoding.tistory.com


오늘까지 내가 진행을 했어야 하는 부분은 아래와 같았다.

 

  • 프로그램을 실행하면 전체 화면을 일단 캡처
  • 마우스 좌표를 넣으면 그 해당 마우스 좌표 안의 사각형을 캡처
  • 해당 이미지를 바로 열어서 어떻게 캡처 되는지 보여주기.

일단 현재 실행을 한 화면이다.

 

잘 안보이겠지만 성공은 하였다. 코드의 coord = [] 라는 부분만 캡처를 하도록 한거였고

예상대로 드래그를 해서 캡처를 하는거보다는 훨씬 빠르고 효율적이라는 생각이 들었다.

 


from pynput.mouse import Listener
import keyboard
from PIL import Image
import pyautogui


coord = []

# saving screenshot image to D drive
myScreenshot = pyautogui.screenshot()
myScreenshot.save('D:/myscreenshot.jpg')


im = Image.open(r'D:/myscreenshot.jpg')

# getting mouse coordinates when mouse click.
def click(x,y,buton,pressed):
    if pressed:
        x = int(x)
        y = int(y)
        coord.append(x)
        coord.append(y)

        if len(coord) == 4:
            return False

with Listener(on_click = click) as Listener:
    Listener.join()

left = coord[0]
top = coord[1]
right = coord[2]
bottom = coord[3]

im1 = im.crop((left,top,right,bottom))
im1.show()

pyautogui 모듈을 통해 전체 화면 캡처를 하고, PIL 모듈 안의 기능을 통해 cropping을 구현했다.

다음 포스팅에서는 아래 부분들을 진행을 해볼 예정이다.

 

  • 지금 현재 상황으로는 전체 모니터 캡처가 된부분이 D 드라이브에 저장이 되어있다. 해당을 삭제할 수 있는 방법을 알아봐야 겠다.
  • 그 다음 이제 event를 이용하여 키보드 명령어를 입력했을 때 크롭핑이 실행이 되도록 진행을 할 예정이다.

 

 

 

댓글