问题描述
我正在尝试制作pyglet-一个简单的程序,当用户单击图像时,它将返回True
,否则返回False
。
我知道如何进行这项工作,但这是我的形象:
如您所见-该图像具有白色背景,而我的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楼
您可以使用以下方法访问图像的像素:
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]