PNG图像精灵保留背景色



我正在使用这个精灵进行一些实验。我用GIMP裁剪了一段纸,并使蓝色背景透明,结果是这样的。然而,当我使用这个精灵运行代码时,我仍然会得到一个蓝色背景的精灵。其他精灵也会发生同样的事情(不同的精灵表,相同的源,相同的编辑过程)。

现在,我知道我可以使用PyGame本身设置透明颜色,但我想知道这是否是我能做到的唯一方法?我不能通过图像本身来完成吗?为什么PyGame在我用GIMP清除后仍然读取蓝色背景?

p.S.SSCE将是链接的GitHub回购的pvz_shooter_test.py和/或image_test.py

尝试mySurface.covert_alpha()(查看pygame文档)。

关于PyGame为什么在我用GIMP清除它之后仍然读取蓝色背景的更多细节。

当图像文件格式支持它时,像素不仅仅表示为RGB位。每个像素都有额外的信息,alpha通道。GIMP所做的是将alpha位设置为0%不透明度。RGB值保持不变(在本例中为蓝色)。由于我的PyGame代码没有设置为读取额外的alpha位,所以它只读取描述蓝色的RGB。convert_alpha方法告诉PyGame也要读取alpha通道。

最新更新