加载图片时出现pygame.error

时间:2013-06-10 11:42:52

标签: python pygame

我的pygame代码

bif="images.jpg"
mif="point.png"
import pygame, sys
from pygame.locals import *

pygame.init()
screen=pygame.display.set_mode((640,360),0,32)
background=pygame.image.load(bif).convert()
mouse_c=pygame.image.load(mif).convert_alpha()
while True:
        for event in pygame.event.get():
                if event.type == QUIT:
                        pygame.quit()
                        sys.exit()
        screen.blit(background, (0,0))

错误消息

Traceback (most recent call last):
  File "game.py", line 8, in <module>
    background=pygame.image.load(bif).convert()
pygame.error: File is not a Windows BMP file

我试过这个链接,但这也无法正常工作

Why are my pygame images not loading?

2 个答案:

答案 0 :(得分:2)

来自pygame documentation

  

默认情况下,它只能加载未压缩的BMP图像。使用完整图像支持构建时,pygame.image.load()函数可以支持以下格式。   JPG ......

因此,如果您需要JPG和PNG图像,则必须使用完整的图像支持进行构建。

答案 1 :(得分:0)

我高度怀疑这是否可以解决您的问题,但是,如果其他任何人都遇到了这个确切的问题,我希望他们能从Microsoft Marketplace上使用Python版本看到它,就像我发生的那样。

如果找不到特定的图像,则可以键入整个路径。意味着python脚本无法在完全相同的目录甚至文件夹中找到图像,它可能与某些随机性有关,我没有找到任何答案,甚至没有找到答案。

在窗口中存在一个名为FileSyncShell64.dll的.dll文件,该文件可能会丢失,并导致idle.exe-保存时的错误映像,具体取决于Python的位置以及版本和其他内容。关键是需要文件的操作系统。因此,在Google上找到正确的文件并将其放置在正确的位置,如果在保存时收到错误消息,则该文件将包含该文件原本应存在的地址。这以某种方式发生在我身上,因为出于某种原因,Marketplace将Python放在OneDrive文件夹中,后面似乎是数字DNS或IP,然后在缺少.dll时添加了amd64。

只要让其他人知道他们是否已经用尽其他所有方法都遇到麻烦,例如添加compelete路径,确保图像位于正确的位置,确保python位于Path以及其他所有可能的位置上,这就是罕见的修复程序,但是显然如此。在任何文件位置执行任何操作时,只会导致整个地址无法正常工作,这可能会导致长时间的噩梦。