我有一个蓝色背景上的红球图像保存为 BMP 文件。图像中只使用了两种颜色:红色 (255, 0, 0) 和蓝色 (0, 0, 255)。我编写了以下 Pygame 测试程序来隔离问题。它只是加载一个图像,将左上角像素的颜色设置为透明色,然后将其传送到屏幕上。它很简单,但我无法让它工作。
import pygame
if __name__ == "__main__":
pygame.init()
size = (640, 400)
screenSurface = pygame.display.set_mode(size)
ballSurface = pygame.image.load("ball.bmp")
transparentColor = ballSurface.get_at((0, 0))
ballSurface.set_colorkey(transparentColor)
screenSurface.blit(ballSurface, ballSurface.get_rect())
pygame.display.update()
pygame.time.wait(30000)
我试过手动将每种颜色传递set_colorkey()
给无济于事。我究竟做错了什么?谢谢你的帮助!