Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 !! smile
      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"

chris7522 a écrit :

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 smile

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"

chris7522 a écrit :

@MPython Alaplancha : Mais vous etes sur tous les fronts !! smile

où python est, python je suis cool

chris7522 a écrit :

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. wink


# Debian12 Mate

Hors ligne