#1 Le 23/08/2024, à 06:31
- chris7522
Message d'erreur insoluble : "pygame.error: Unsupported image format"
Bonjour a toutes et a tous ,
J'ai formaté et installé la derniere distribution ubuntu mate et pycharm egalement . Lorsque je lance mon code qui fonctionnait sous linux lite , j'ai ce message d'erreur que je n'arrive pas a résoudre :
/home/chris/PycharmProjects/Paris_2052/.venv/bin/python /home/chris/PycharmProjects/Paris_2052/main.py
pygame 2.6.0 (SDL 2.28.4, Python 3.12.3)
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
File "/home/chris/PycharmProjects/Paris_2052/main.py", line 62, in <module>
start()
File "/home/chris/PycharmProjects/Paris_2052/main.py", line 2, in start
import gamerun
File "/home/chris/PycharmProjects/Paris_2052/gamerun.py", line 2044, in <module>
background1.load_images('background')
File "/home/chris/PycharmProjects/Paris_2052/background.py", line 18, in load_images
image = pygame.image.load(f"{folder}/{file}")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pygame.error: Unsupported image format
Process finished with exit code 1
Voici le code de background.py :
import pygame
import os
class Background(pygame.sprite.Sprite):
def __init__(self, battleship):
super().__init__()
self.image_list = []
self.images_width = []
self.battleship = battleship
self.n = 0
self.offset = 0
def load_images(self, folder):
ma_liste = os.listdir(folder)
ma_liste.sort()
for file in ma_liste:
image = pygame.image.load(f"{folder}/{file}")
rect = image.get_rect()
largeur = rect.width
self.image_list.append(image)
self.images_width.append(largeur)
Le format d'image que j'utilise est au format jpg donc accepté par pygame . Le probleme d'apres moi se situerai dans cette méthode mais il y a rien de moins sur :
def load_images(self, folder):
ma_liste = os.listdir(folder)
ma_liste.sort()
for file in ma_liste:
image = pygame.image.load(f"{folder}/{file}")
rect = image.get_rect()
largeur = rect.width
self.image_list.append(image)
self.images_width.append(largeur)
Est ce que cette facon d'ecrire n'est pas obsolète ?
image = pygame.image.load(f"{folder}/{file}")
D'avance , je vous en remercie !
Hors ligne
#2 Le 23/08/2024, à 08:47
- MPython Alaplancha
Re : Message d'erreur insoluble : "pygame.error: Unsupported image format"
Bonjour.
Pour voir quel fichier pose problème gère l'exception avec un try except:
try:
image = pygame.image.load(f"{folder}/{file}")
except pygame.error as e:
print(f"Erreur lors du chargement du fichier {file}: {e}")
# Debian12 Mate
Hors ligne
#3 Le 23/08/2024, à 09:01
- soshy
Re : Message d'erreur insoluble : "pygame.error: Unsupported image format"
Salut,
Si je devais parier, je miserai sur le fait que le répertoire ne contient pas uniquement des fichiers images...
Hors ligne
#4 Le 23/08/2024, à 10:34
- chris7522
Re : Message d'erreur insoluble : "pygame.error: Unsupported image format"
@MPython Alaplancha : Mais vous etes sur tous les fronts !!
Je voulais vous remercier une nouvelle fois pour tout l'aide que vous m'avez deja apporté , c'est vraiment généreux de votre part .
@soshy : Bravo ! bien vu . Effectivement j'avais un fichier a l'intérieur du dossier contenant mes images . J'aurai jamais pensé que cela puisse poser probleme . Un grand merci a vous !
Maintenant que tout fonctione tres bien , j'ai une derniere chose a vous demander . Je ne vais pas pouvoir continuer avec cette distribution d'ubuntu mate car j'ai constaté des ralentissements important lors de l'execution du programme . Je suis un peu dégouté car mate est vraiment tres beau . Avant de revenir a linux lite , connaitriez vous une distri tres légere pas trop austère ?
Merci
Hors ligne
#5 Le 23/08/2024, à 12:15
- soshy
Re : Message d'erreur insoluble : "pygame.error: Unsupported image format"
J'aurai jamais pensé que cela puisse poser probleme
C'est toujours pareil, ça dépend qui a fait le code et s'il l'a bien fait
Dans le code que tu montres on a
def load_images(self, folder):
ma_liste = os.listdir(folder)
ma_liste.sort()
for file in ma_liste:
image = pygame.image.load(f"{folder}/{file}")
1 - Liste des fichiers et répertoires pour un chemin donné
2 - On trie la liste (surement par ordre alphabétique)
3 - Pour chaque élément de la liste on demande de charger le fichier image (donc à priori on s'attend à une image et rien ne garanti au dessus que ça en soit bien une)
Hors ligne
#6 Le 23/08/2024, à 16:31
- MPython Alaplancha
Re : Message d'erreur insoluble : "pygame.error: Unsupported image format"
@MPython Alaplancha : Mais vous etes sur tous les fronts !!
où python est, python je suis
Je ne vais pas pouvoir continuer avec cette distribution d'ubuntu mate car j'ai constaté des ralentissements important lors de l'execution du programme . Je suis un peu dégouté car mate est vraiment tres beau . Avant de revenir a linux lite , connaitriez vous une distri tres légere pas trop austère ?
Tu pourrais installer Debian Mate, l'environnement est le même en moins lourd (pas de snap). à l'usage, c'est pareil. Et depuis Debian12, Debian propose par défaut les microcodes propriétaires, ce qui rend l'installation aussi facile qu'une Ubuntu.
# Debian12 Mate
Hors ligne