2010-11-16 27 views
0

對於編程項目,我需要使用pyglet從加載的圖像讀取像素。 我用「pyglet.image.load('map.png')」來加載圖像,並且我發現你可以使用img.get_image_data()來檢索圖像數據。 我使用線mapImage.get_region(x,y,1,1).get_image_data().get_data("RGBA", 4)使用pyglet讀取像素的RGB值的問題

讀取位於(x,y)的像素的數據。這是我卡住的地方。當我打印上面的行結果時,我得到一個空的空間。任何人都可以澄清我是如何從get_data()函數返回的字符串中提取RGB值的?

謝謝!

回答

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])) 
+0

是解決了這個問題! – Bartvbl 2010-11-17 10:09:03

+0

非常感謝!我不知道你需要首先從unicode轉換字符串=) – Bartvbl 2010-11-17 10:10:19