首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PNG图像子画面保留背景颜色

PNG图像子画面保留背景颜色
EN

Stack Overflow用户
提问于 2012-07-17 17:32:16
回答 2查看 225关注 0票数 1

我正在使用this sprite做一些实验。我用GIMP裁剪了工作表的一部分,并使蓝色背景透明,结果是this。但是,当我使用这个sprite运行代码时,我仍然得到一个带有蓝色背景的sprite。同样的事情也发生在其他精灵上(不同的精灵工作表,相同的源代码,相同的编辑过程)。

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-17 18:24:08

尝试使用mySurface.convert_alpha() (查看有关它的pygame documentation )。

票数 1
EN

Stack Overflow用户

发布于 2013-11-02 16:40:14

只是一些额外的细节,为什么在我用GIMP清除了背景之后,PyGame仍然读到了蓝色背景。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11519727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档