2015-10-17 2 views
2

J'essaie de faire - sur pyglet - un programme simple qui, lorsque l'utilisateur clique sur une image, renvoie True, sinon il renvoie False. Je sais comment faire ce travail, mais ceci est mon image: kitten
Comme vous pouvez le voir - cette image a un fond blanc, tout comme ma fenêtre en pyglet, donc ce que je veux faire maintenant, c'est de le faire seulement revenir True lorsque le pixel sur lequel l'utilisateur clique est tout sauf blanc.
J'ai une idée de comment faire cela, mais ce que je dois savoir, c'est comment vérifier la couleur d'un certain pixel.Obtenir la couleur du pixel spécifié dans la fenêtre

#This is getting and resizing the image 
kitty = pyglet.resource.image('kitty.jpg') 
kitty.width = kitty.width//4 
kitty.height = kitty.height//4 

#These are variables of the coordinates 
#to draw the image at 
kitty_draw_x = 0 
kitty_draw_y = 0 

#And this is the function to draw the kitty! 
@window.event 
def on_draw(): 
    window.clear() 
    kitty.blit(kitty_draw_x, kitty_draw_y) 
+0

Pouvez-vous écrire un code: comment voulez-vous montrer l'image ? – lilezek

+0

@lilezek Okay, j'ai ajouté le code. –

Répondre

0

Vous pouvez accéder à des pixels de l'image en utilisant:

rawimage = kitty .get_image_data() 
format = 'RGBA' 
pitch = rawimage.width * len(format) 
pixels = rawimage.get_data(format, pitch) 

ensuite obtenir le pixel x, y en utilisant:

pixels[kitty.width * y + x]