当前位置: 代码迷 >> python >> 获取窗口中指定像素的颜色
  详细解决方案

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

热度:60   发布时间:2023-06-13 13:40:25.0

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

您可以使用以下方法访问图像的像素:

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]
  相关解决方案