Сделайте случайное подмножество белых пикселей черным на поверхности пигама - PullRequest
0 голосов
/ 19 мая 2011

У меня есть поверхность пигмея (некоторый текст, созданный font.render), который в основном прозрачный, за исключением некоторых пикселей белого цвета. Я хотел бы изменить половину этих белых пикселей на черный. Я знаю, что могу перебирать каждый пиксель, проверяя, является ли он белым с помощью get_at (), и меняя его цвет с помощью set_at (), но мне кажется, что должен быть более быстрый способ сказать pygame, чтобы захватить все белые пиксели и изменить случайная половина из них к черному. Есть идеи?

1 Ответ

1 голос
/ 19 мая 2011

Я думаю, вам нужно будет перебрать все пиксели, чтобы проверить, не белый ли он.Как только у вас есть список белых, сделайте что-то вроде:

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

Документация Python - случайная

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...