2011-05-18 18 views
0

我有一個pygame表面(由font.render創建的一些文本),除了某些像素是白色以外,它大部分是透明的。我想將這些白色像素的一半改爲黑色。我知道我可以遍歷每個像素,通過get_at()檢查它是否是白色,並使用set_at()更改它的顏色,但是它告訴我必須有更快的方式告訴pygame抓住所有白色像素並更改隨機一半他們到黑色。有任何想法嗎?在pygame表面製作白色像素的隨機子集

回答

1

我認爲你需要遍歷所有的像素來檢查它們是否是白色的。一旦你有白名單,這樣做:

for px in random.sample(whites,len(whites)/2): 
    Surface.set_at((px.x,px.y),'black') 

Python Documentation - random