获取窗口中指定像素的颜色

时间:2015-10-17 13:46:05

标签: python python-2.7 pyglet

我试图制作 - 在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)

1 个答案:

答案 0 :(得分: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]
相关问题