проблема с чтением значений RGB пикселей с помощью pyglet - PullRequest
0 голосов
/ 17 ноября 2010

Для проекта программирования мне нужно прочитать пиксели из загруженного изображения, используя 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). Вот где я застреваю. Когда я печатаю результат строки выше, я получаю пустое место. Может кто-нибудь объяснить, как я извлекаю значения RGB из строки, возвращаемой функцией get_data ()?

Спасибо!

1 Ответ

1 голос
/ 17 ноября 2010

Ваш 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]))
...