1

我目前正在尝试在 Pygame 中使用 .png 井字游戏板,以便白色部分是透明的。但是,我收到“libpng 警告:sBIT:无效”,当我将电路板粘贴到背景上时,会显示白色。代码如下:

background = pygame.image.load("blah.bmp")
board_surface = pygame.image.load("board.png")
board_surface.convert_alpha()

我在 Pygame 文档上读到,只有 .bmp 可以保证工作,并且由于 image.get_extended() 返回 1,我假设我根本没有足够的图像处理支持。

我已经安装了 Pillows 并导入了模块,但我不知道如何在 Pygame 中使用它。本教程展示了如何将图像加载为 Pillow 的 Image 类等,但我需要将图像表示为 Pygame 的 Surfaces。

对于整合这两件事的任何帮助,或关于如何让我的 .png 工作的任何其他解决方案,我将不胜感激!作为参考,我使用的是 Python3.3 和 Pygame1.9.2

4

1 回答 1

0

我也遇到过这个问题。我通过切换到 .tif 解决了它(只有一个 f !)。如果您安装了 Gimp,请使用它将空格转换为 alpha=0 空格(如果您在这样做时遇到问题,我可以提供更详细的解释)。之后像往常一样导入图像并使用 .convert_alpha() 方法。

于 2015-10-02T20:09:12.630 回答