You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pygame设置游戏图标时报Unsupported image format错误且窗口闪退如何解决

Pygame图标加载报错修复方案

你遇到的pygame.error: Unsupported image format报错和窗口闪退是因为pygame.image.load()未能正确读取目标图片文件,程序抛出未捕获异常直接终止运行,可通过以下步骤逐一排查修复:

  • 路径校验
    VS Code默认运行脚本的工作目录为打开的工作区根目录,而非py脚本所在目录,易出现相对路径找不到文件的问题。在图标加载代码前插入一行代码输出当前工作目录:
    import os; print(os.getcwd())
    运行后查看控制台输出的路径,确认gameicon.png是否存放于该路径下。如果不在,可将图片移动到对应目录,或直接填写图片的绝对路径,示例:
    img = pygame.image.load(r'C:\Users\你的用户名\项目文件夹\gameicon.png')

  • 图片格式校验
    如果文件后缀是手动修改为.png的,或图片存在损坏,也会触发格式不支持报错。你可以用系统自带的画图工具打开目标图片,重新选择「另存为- PNG格式」覆盖原文件,同时建议将图片尺寸调整为3232px或256256px的标准正方形尺寸,降低Pygame适配异常概率。

  • 优化加载代码
    加载PNG图片时新增convert_alpha()方法,优化Pygame对透明通道的解析,修改加载代码为:
    img = pygame.image.load('gameicon.png').convert_alpha()

  • 调整代码顺序
    建议将图标设置逻辑移到窗口初始化完成后、首次画面刷新前,避免渲染顺序导致的异常,调整后的完整代码段参考:

import time
import pygame
import os

# Initializes Pygame
pygame.init()

# Game Screen Variables
background_colour = (255,255,255)

# Sets up the playscreen
screen = pygame.display.set_mode((1100,750),0,32)
pygame.display.set_caption("Dusco's Game")

# Setting the game icon
img = pygame.image.load('gameicon.png').convert_alpha()
pygame.display.set_icon(img)

screen.fill(background_colour)
pygame.display.flip()

# Game Loop
running = True
while running:
  for event in pygame.event.get():
    if event.type == pygame.QUIT:
      running = False

pygame.quit ()

如果以上步骤都操作后仍报错,可重新安装完整版Pygame修复解码依赖缺失问题,执行命令:
pip uninstall pygame -y && pip install pygame

内容的提问来源于stack exchange,提问作者user15740892

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 06:54:04