Python/Python ETC

Python PIL : 화면 캡쳐하기 (screen capture with python)

CosmosProject 2024. 11. 5. 19:43
728x90
반응형

 

 

 

Python에서는 PIL module을 이용하여 화면을 캡쳐할 수 있습니다.

 

from PIL import ImageGrab

# capture entire screen
img = ImageGrab.grab()
img.show()

 

위처럼 하면 화면 전체를 캡쳐할 수 있습니다.

 

 

 

 

from PIL import ImageGrab

# capture top-left rectangle with size 638px wide by 312px tall
img = ImageGrab.grab(bbox=(0, 0, 538, 312))
img.show()

 

 

위처럼 화면 캡쳐 영역의 크기를 조절할 수도 있습니다.

 

캡쳐는 직사각형으로 할 수 있으며, bbox에 담겨진 4개의 인자는 각각 직사각형의 꼭지점 좌표를 의미합니다.

bbox=(x1, y1, x2, y2)

 

가장 처음 2개 인자인 x1, y1은 캡쳐할 직사각형 영역의 좌측 상단 꼭지점 좌표를 나타냅니다.

마지막 2개 인자인 x2, y2는 캡쳐할  직사각형 영역의 우측 하단 꼭지점 좌표를 나타냅니다.

 

이렇게 2개의 점을 정의하면 직사각형을 그릴 수 있죠.

 

좌표는 컴퓨터 화면의 왼쪽 맨 위가 (0, 0)이며

오른쪽으로 갈수록 x좌표가 커지며,

아래쪽으로 갈수록 y좌표가 커집니다.

 

 

 

 

 

 

from PIL import ImageGrab

# capture entire screen and save as png image file
img = ImageGrab.grab()
img.save('sample_capture.png')

 

PIL 객체의 save() method를 이용하여 이미지를 파일로 저장할 수도 있습니다.

 

 

 

 

 

728x90
반응형