因此,最近我一直在使用pygame进行一些面向GUI的项目,但是我一直在努力弄清为什么它显示了图像的透明部分。我已经进行了一些研究,并阅读了很多有关alpha像素的信息,以及如何对它们进行不正确的转换或类似的东西,但是对它们的理解不足以在代码中正确使用它。这是我一直在测试的一个示例,与我的主要项目相类似,并且仍使用黑色背景上显示的透明背景来渲染图像:
import pygame
pygame.init()
root = pygame.display.set_mode((1000, 1000))
root.fill((0,0,0))
rect = pygame.Rect((100, 100), (800, 800))
image = pygame.image.load(".images/Knight.png").covert_alpha()
root.blit(image, rect)
pygame.display.update()
input()
[convert_alpha()
不会自动转换图像本身,它会返回带有转换后数据的新convert_alpha()
对象。
将返回值分配给变量:
pygame.Surface
您实际要做的是生成转换后的图像,将其分配到任何地方,然后继续处理原始图像。