如何使用pygame将透明图像着色到表面上?

问题描述 投票:0回答:1

因此,最近我一直在使用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()
python-3.x image pygame surface pygame-surface
1个回答
0
投票

[convert_alpha()不会自动转换图像本身,它会返回带有转换后数据的新convert_alpha()对象。

将返回值分配给变量:

pygame.Surface

您实际要做的是生成转换后的图像,将其分配到任何地方,然后继续处理原始图像。

© www.soinside.com 2019 - 2024. All rights reserved.