这样做,但需要python-gtk:
import gtk.gdk
import sys
def PixelAt(x, y):
w = gtk.gdk.get_default_root_window()
sz = w.get_size()
pb = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB,False,8,sz[0],sz[1])
pb = pb.get_from_drawable(w,w.get_colormap(),0,0,0,0,sz[0],sz[1])
pixel_array = pb.get_pixels_array()
return pixel_array[y][x]
print PixelAt(int(sys.argv[1]), int(sys.argv[2]))
在Ubuntu 9.10上,这也需要python-numpy或者在get_pixels_array行上对python解释器进行segfaults. Ubuntu 10.04仍然有这个要求,或者导致关于numpy.core.multiarray的ImportError.