【问题标题】:Make random subset of white pixels black in pygame surface在pygame表面中使白色像素的随机子集变黑
【发布时间】:2011-05-19 08:52:46
【问题描述】:

我有一个 pygame 表面(一些由 font.render 创建的文本),除了一些像素是白色的之外,它大部分是透明的。我想将这些白色像素的一半改成黑色。我知道我可以遍历每个像素,通过 get_at() 检查它是否为白色并使用 set_at() 更改其颜色,但令我震惊的是,必须有一种更快的方法告诉 pygame 抓取所有白色像素并更改随机将其中一半变为黑色。有什么想法吗?

【问题讨论】:

    标签: python pygame


    【解决方案1】:

    我认为您需要遍历所有像素以检查它们是否为白色。获得白人列表后,请执行以下操作:

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

    Python Documentation - random

    【讨论】:

      猜你喜欢
      • 2015-05-05
      • 2018-10-10
      • 2023-03-20
      • 2019-12-13
      • 2015-02-13
      • 2019-03-28
      • 1970-01-01
      • 2018-09-28
      • 1970-01-01
      相关资源
      最近更新 更多