我正在尝试这样做:
surface_with_text = pygame.font(params).render(params) # transparent bg
surface_with_text.set_alpha(100) # make it half transparent
another_surface.blit(surface_with_text) # blit onto image
但是,当然,它默默地失败了 - 我的文字仍然完全不透明......为什么会这样?我如何找到解决方法?
当然我可以在文本的顶部显示“255 - 100” - 透明的another_surface副本,但这有什么乐趣,对吗?
答案 0 :(得分:1)
渲染的字体表面已经使用了每像素的alpha值(否则,它会有一个坚实的背景)。
如果背景是透明的,则会包含像素alpha。
此值与每像素Surface alpha不同。如果Surface格式包含每像素alphas,那么将忽略此alpha值。