【问题标题】:pygame.error: File is not a Windows BMP file on m1 Mac running Mac os Monteraypygame.error:文件不是运行 Mac os Monteray 的 m1 Mac 上的 Windows BMP 文件
【发布时间】:2021-08-29 10:48:27
【问题描述】:

我环顾四周,但没有找到任何可行的解决方案。

我只是在使用教程学习pygame:https://www.youtube.com/watch?v=jO6qQDNa2UY&list=WL&index=44&t=1379s

但是当我尝试链接图像时出现错误:pygame.error: File is not a Windows BMP file.

除了重新安装pygame(上一期)或重新安装python之外,我已经尝试了所有方法。

这是我的代码

import pygame
import os

pygame.init()
WIDTH, HEIGHT = 900, 500
WIN = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("First Game")

WHITE = (255,255,255)
RED = (255,0,0)

FPS = 60

YELLOW_SPACESHIP_IMAGE = pygame.image.load(
    os.path.join('Assets', 'spaceship_yellow.png')).convert()
RED_SPACESHIP_IMAGE = pygame.image.load(
    os.path.join('Assets', 'spaceship_red.png')).convert()

def draw_window():
    WIN.fill((RED))
    WIN.blit(YELLOW_SPACESHIP_IMAGE, (300,100))
    pygame.display.update()

def main():
    clock = pygame.time.Clock()
    run = True
    while run:
        clock.tick(FPS)
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                run = False
        
        draw_window()
    pygame.QUIT()

if __name__ == "__main__":
    main()

【问题讨论】:

    标签: python macos pygame macos-monterey


    【解决方案1】:

    您尝试加载spaceship_yellow.pngspaceship_red.png,从扩展名来看是PNGs 而不是BMPs,您的错误

    pygame.error: File is not a Windows BMP file
    

    建议 pygame 期待 BMP 文件。 pygame.image docs

    image 模块是 pygame 的必需依赖,但它只 可选地支持任何扩展文件格式。默认情况下只能 加载未压缩的 BMP 图像。在构建完整的图像支持时, pygame.image.load()函数可以支持以下格式。

    然后枚举格式,显然您没有完整的图像支持,我认为最简单的解决方案是将PNGs 转换为未压缩的BMP 图像格式。

    【讨论】:

      【解决方案2】:

      将图像转换为 BMP 确实有效,但我宁愿仍然拥有 pygame 的全部功能。我为最终使它工作所做的工作来自一个线程here。我把它放在终端里让它工作:

      python3 -m pip install git+https://github.com/nelsonlove/pygame.git
      

      这会将您的 pygame 更新到版本 2.0.2.dev1,针对 m1 Mac 进行了修改。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-10
        • 2011-07-31
        • 2023-02-08
        • 2020-08-08
        • 1970-01-01
        • 1970-01-01
        • 2018-07-25
        • 2014-07-28
        相关资源
        最近更新 更多