【问题标题】:convert basic RGB to alpha in pygame在pygame中将基本RGB转换为alpha
【发布时间】:2015-04-24 05:00:17
【问题描述】:
light_green = (0,200,0,100)
pygame.draw.rect(game_display,light_green,(50,200,60,110))

我知道这在第 4 节 (100) 中具有 alpha 属性。但是当应用在背景上时它是不透明的。它只是一个实心方块。我希望能够通过广场看到背景。任何帮助总是很感激。谢谢:)

【问题讨论】:

    标签: colors pygame rgb alpha


    【解决方案1】:

    绘图模块的函数不绘制透明。见documentation for draw

    大多数参数都接受一个颜色参数,它是一个 RGB 三元组。 这些也可以接受 RGBA 四联体。阿尔法值将是 如果它包含像素 alpha,则直接写入 Surface,但是 draw 函数不会透明地绘制

    一种解决方法是改用 pygame.gfxdraw 模块中的相应函数,它们会增加透明度,对于您的情况是 box 函数。

    import pygame.gfxdraw
    light_green = (0,200,0,100)
    pygame.gfxdraw.box(game_display, pygame.Rect(50,200,60,110), light_green)
    

    如果您只想绘制矩形,您可以作为替代方式直接填充 Surface 并将其 blit 到屏幕上。

    light_green = (0,200,0,100)
    s = pygame.Surface((60, 110), pygame.SRCALPHA)
    s.fill(light_green)
    game_display.blit(s, (50, 200))
    

    【讨论】:

      猜你喜欢
      • 2010-09-05
      • 1970-01-01
      • 1970-01-01
      • 2021-09-06
      • 1970-01-01
      • 2018-01-31
      • 2011-07-27
      • 2014-09-21
      • 1970-01-01
      相关资源
      最近更新 更多