2010-12-02 35 views
0

Je voudrais obtenir la couleur d'un pixel particulier en Python en utilisant ses coordonnées X Y, est-ce possible?Est-il possible d'obtenir la couleur d'un pixel particulier sur l'écran avec ses coordonnées X et Y?

Ceci est dans Windows, si cela fait une différence.

+0

Qu'est-ce que vous espérez faire avec cette information ? –

+0

L'avez-vous fait en utilisant win32? Vous devrez utiliser les liaisons win32 pour utiliser la même API. – pyfunc

+0

Karl, je vais faire une fenêtre pseudo-formée. – rectangletangle

Répondre

7

Voir http://rosettacode.org/wiki/Color_of_a_screen_pixel sous le titre python

ils donnent:

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) 

qui utilise Python Extensions for Windows qui est disponible pour python 02.03 à 03.01 à http://sourceforge.net/projects/pywin32/files/pywin32/Build%20214/

+0

Merci c'est ce dont j'avais besoin. – rectangletangle