对于编程项目,我需要使用pyglet从加载的图像中读取像素。
我使用“pyglet.image.load('map.png')”来加载图像,我发现你可以使用img.get_image_data()检索图像数据。
我使用了行mapImage.get_region(x,y,1,1).get_image_data().get_data("RGBA", 4)
从位于(x,y)的像素读取数据。这是我被卡住的地方。当我打印上面的行结果时,我得到一个空的空格。任何人都可以澄清我如何从get_data()函数返回的字符串中提取RGB值吗?
谢谢!
答案 0 :(得分:1)
你的mapImage ...返回一个包含4个字符的字符串,代表rgba。
试试这个:
pix = mapImage.get_region(x,y,1,1).get_image_data().get_data("RGBA", 4)
print 'r = ' + str(ord(pix[0]))
print 'g = ' + str(ord(pix[1]))
print 'b = ' + str(ord(pix[2]))
print 'a = ' + str(ord(pix[3]))