PyWin32 화면 정보 얻기

Pywin32를 이용해서 스크린의 크기와 픽셀 정보를 얻을 수 있습니다.


스크린 해상도 얻기

예제 - GetSystemMetrics()

from win32api import GetSystemMetrics

print('Width:', GetSystemMetrics(0))
print('Height:', GetSystemMetrics(1))
Width: 1536
Height: 864

화면의 해상도가 1536px, 864px 임을 알 수 있습니다.



화면 픽셀 색상 얻기

예제 - GetPixel()

import win32api
import win32gui

color = win32gui.GetPixel(win32gui.GetDC(win32gui.GetActiveWindow()), 500, 500)
print(hex(color))
0x2b2b2b

win32gui의 GetPixel()을 사용하면 화면의 특정한 픽셀의 색상에 대한 정보를 얻을 수 있습니다.

위의 예제는 x=500, y=500 위치의 픽셀 정보를 16진수 형태로 출력합니다.



만약 색상을 RGB의 튜플로 출력하고 싶다면,

import win32api
import win32gui


def rgbint2rgbtuple(RGBint):

    blue = RGBint & 255
    green = (RGBint >> 8) & 255
    red = (RGBint >> 16) & 255

    return (red, green, blue)


color = win32gui.GetPixel(win32gui.GetDC(win32gui.GetActiveWindow()), 500, 500)
print(rgbint2rgbtuple(color))
(43, 43, 43)

함수를 사용해서 변환해주면 됩니다.



이전글/다음글