是否可以通过X和Y坐标获取屏幕上特定像素的颜色?

0 投票
1 回答
7115 浏览
提问于 2025-04-16 07:55

我想在Python中获取某个特定像素的颜色,方法是通过它的X和Y坐标,这样做可以吗?

我是在Windows系统上操作的,如果这有影响的话。

1 个回答

7

请查看 http://rosettacode.org/wiki/Color_of_a_screen_pixel 这个链接,里面有关于Python的内容。

他们提供了:

def get_pixel_colour(i_x, i_y):
    import win32gui
    i_desktop_window_id = win32gui.GetDesktopWindow()
    i_desktop_window_dc = win32gui.GetWindowDC(i_desktop_window_id)
    long_colour = win32gui.GetPixel(i_desktop_window_dc, i_x, i_y)
    i_colour = int(long_colour)
    return (i_colour & 0xff), ((i_colour >> 8) & 0xff), ((i_colour >> 16) & 0xff)

print get_pixel_colour(0, 0)

这个代码使用了 Python Windows扩展,这个扩展适用于Python 2.3到3.1版本,可以在这里下载:http://sourceforge.net/projects/pywin32/files/pywin32/Build%20214/

撰写回答