是否可以通过X和Y坐标获取屏幕上特定像素的颜色?
我想在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/