2015-10-17 65 views
2

我正试图使用​​pyglet - 一个简单的程序,当用户单击图像时它将返回True,否则返回False。 我知道如何使这项工作,但这是我的形象: kitten
正如你所看到的 - 这个图像有一个白色背景,我的pyglet窗口也是如此,所以我现在要做的就是让它只返回True当用户点击的像素是什么,但白色。
我有一个如何做到这一点的想法,但我需要知道的是如何检查某个像素的颜色是什么。获取窗口中指定像素的颜色

#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

你可以写一些代码:你怎么显示图像? – lilezek

+0

@lilezek好的,我已经添加了代码。 –

回答

0

您可以通过访问该图像的像素:

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

然后得到的像素X,Y使用:

pixels[kitty.width * y + x]