IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

TclError: image "<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=450x300 at 0x3E7EB10>" doesn't exist


Sujet :

Tkinter Python

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Février 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 25
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2020
    Messages : 1
    Points : 1
    Points
    1
    Par défaut TclError: image "<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=450x300 at 0x3E7EB10>" doesn't exist
    Bonjour, j’aimerais réaliser le niveau d'un jeu de plateau mais j'ai un problème qui persiste et je n'arrive pas à résoudre le problème...

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    from tkinter import *
    from PIL import Image
     
     
    """
    Chargement des images et
    création du canva
    """
     
        #Chargement des images
    chatD0 = Image.open("chatD0.gif")
    chatD1 = Image.open("chatD1.gif")
    chatG0 = Image.open("chatG0.gif")
    chatG1 = Image.open("chatG1.gif")
    chatM0 = Image.open("chatM0.gif")
    chatM1 = Image.open("chatM1.gif")
    chatT0 = Image.open("chatT0.gif")
    chatT1 = Image.open("chatT1.gif")
    FondH = Image.open("FondH.gif")
    FondS = Image.open("FondS.gif")
    FondX = Image.open("FondX.gif")
    F_Acier = Image.open("F_Acier.jpg")
    pancake = Image.open("pancake.gif")
    sourisD0 = Image.open("sourisD0.gif")
    sourisD1 = Image.open("sourisD1.gif")
    sourisG0 = Image.open("sourisG0.gif")
    sourisG1 = Image.open("sourisG1.gif")
    sourisM0 = Image.open("sourisM0.gif")
    sourisM1 = Image.open("sourisM1.gif")
    sourisT0 = Image.open("sourisT0.gif")
    sourisT1 = Image.open("sourisT1.gif")
     
        #Création du canva
    fen1= Tk()
    fond= Canvas(fen1,bg='gray75',height=600,width=600)
     
     
    """
    Lecture d'un fichier texte
    """
     
    fichier = open ('Niveau.txt')
     
     
    """
    Lecture des lignes du
    fichier texte
    """
     
    x=0
    y=0
     
    for ligne in fichier:
        for i in range (25) :
            case = ligne[i]
            if case == 'X':
                fond.create_image(x,y, image=F_Acier, anchor='nw')
     
     
     
     
    fen1.mainloop()
    L'erreur vient de la ligne 57, "fond.create_image(x,y, image=F_Acier, anchor='nw')", la console affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Message	Nom de Fichier	Ligne	Position	
    Traceback				
        <module>	E:\ISN\Activité 9 - Jeux plateau\Jeux plateau.py	57		
        create_image	C:\EduPython\App\lib\tkinter\__init__.py	2332		
        _create	C:\EduPython\App\lib\tkinter\__init__.py	2323		
    TclError: image "<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=450x300 at 0x3E7EB10>" doesn't exist
    Si quelqu'un s'y connait, j'aimerais bien avoir son aide, merci d'avance !

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 302
    Points : 36 801
    Points
    36 801
    Par défaut
    Salut,

    tkinter PhotoImage sait déjà lire du GIF, du PPM et du PNG.
    La syntaxe est chatD0 = PhotoImage(file="chatD0.gif").

    Vous devez utiliser PIL pour les images d'un autre format. Dans votre code, c'est juste "F_Acier.jpg" sans oublier d'en faire une "image" compatible avec tk via:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    image = Image.open("F_Acier.jpg")
    photo = ImageTk.PhotoImage(image)
    où ImageTk est à importer depuis PIL.

    Pour les détails voir le tuto d'effbot... Et prenez l'habitude de consulter la FAQ avant de poster.

    - W

Discussions similaires

  1. _tkinter.TclError: image "pyimage2" doesn't exist"
    Par KROCLARYS dans le forum Tkinter
    Réponses: 5
    Dernier message: 20/05/2018, 10h48
  2. _tkinter.TclError: image "pyimage2" doesn't exist"
    Par KROCLARYS dans le forum Général Python
    Réponses: 4
    Dernier message: 20/05/2018, 10h39
  3. Réponses: 3
    Dernier message: 29/07/2012, 21h03
  4. Insertion image "cannot determine size of graphic in image"
    Par Pedro S dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 11
    Dernier message: 24/11/2009, 17h55
  5. Lire et afficher une image 3D (RGB)
    Par 77Camille dans le forum MATLAB
    Réponses: 1
    Dernier message: 06/06/2007, 12h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo