我正在尝试使用以下代码将透明图像加载到pygame中:
def load_image(name, colorkey=None):
fullname = os.path.join('data', name)
try:
image = pygame.image.load(fullname)
except pygame.error, message:
print 'Cannot load image:', fullname
raise SystemExit, message
image = image.convert()
if colorkey is not None:
if colorkey is -1:
colorkey = image.get_at((0,0))
image.set_colorkey(colorkey, RLEACCEL)
return image, image.get_rect()
出于某种原因,每次加载图像时,背景会自动变为黑色?在这种情况下,我没有使用colorkey,因为我的图像最终会在它们周围形成一个白色边框,这一点非常明显,因为我的游戏背景在不断变化。
有什么想法吗?
谢谢,此致
答案 0 :(得分:3)
您调用image.convert()。来自docs for Surface.convert:
“转换后的Surface将没有 像素alphas。如果,他们将被剥夺 原来有他们。看到 Surface.convert_alpha - 更改 图像的像素格式,包括每个 像素alphas用于保存或 创建每像素alphas。“