【发布时间】:2010-05-21 15:06:09
【问题描述】:
我在 Windows 上运行 Python 3.1,并尝试通过 cx_Freeze 将我的 Pygame 脚本作为可执行文件分发。现在它似乎正在工作,只是 exe 构建无法加载我的任何图像:
Cannot load image: C:\path\to\build\exe.win32-3.1\resources\image.png
File is not a Windows BMP file
谷歌搜索发现,当 SDL 图像库未正确包含时会发生这种情况。但是,SDL_image.dll 和 libpng12-0.dll 都被 cx_Freeze 放入了我的构建目录,所以在我看来一切都应该没问题。为什么不能加载PNG图片?
编辑:我通过将我的脚本移植到 Python 2.6 并改用 py2exe “解决”了这个问题,因为它有一些我需要的功能。
【问题讨论】:
-
冻结前是否有效?如果将文件转换为 .bmp 会发生什么?
-
是的,它在冻结之前工作得非常好。如果我将图像转换为 .bmp,它们可以正常加载,但如果可能的话,我宁愿选择使用 .png。
标签: python sdl pygame cx-freeze