Вот намного более быстрая функция, основанная на richq 's answer .
Этот читает только один пиксель с экрана вместо того, чтобы получить огромный массив всех пикселей.
import gtk.gdk
def pixel_at(x, y):
rw = gtk.gdk.get_default_root_window()
pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, 1, 1)
pixbuf = pixbuf.get_from_drawable(rw, rw.get_colormap(), x, y, 0, 0, 1, 1)
return tuple(pixbuf.pixel_array[0, 0])
>>> pixel_at(25, 5)
(143, 178, 237)
Требуется PyGTK, конечно ...