Afficher une image
Résolu
Jln
-
Jln -
Jln -
Bonjour à tous,
Je rencontre actuellement un problème avec python 3. Pour afficher une image j'ai le bout de prg suivant :
Je rencontre actuellement un problème avec python 3. Pour afficher une image j'ai le bout de prg suivant :
import tkinter as tk from PIL import Image, ImageTk fen = tk.Tk() fen.geometry("500x300") load = Image.open("image_1.png") photo = ImageTk.PhotoImage(load) label_img = tk.Label(root, image = photo) label_img.place(x = 200, y = 10) fen.mainloop() Cela fonctionne très bien. Comme je vais devoir afficher plusieurs images je me suis dis pourquoi ne pas créer une fonction, donc: import tkinter as tk from PIL import Image, ImageTk fen = tk.Tk() fen.geometry("500x300") def affiche_image(chemin, pos_x, pos_y): load = Image.open(chemin) photo = ImageTk.PhotoImage(load) label_img = tk.Label(root, image = photo) label_img.place(x = pos_x, y = pos_y) affiche_image("image_1.png", 200, 10) fen.mainloop() Seule la fenêtre fen s'affiche mais pas l'image.... J'ai voulu créer une classe , donc : import tkinter as tk from PIL import Image, ImageTk fen = tk.Tk() fen.geometry("500x300") class Image: def __init__(self, chemin, pos_x, pos_y): self.chemin = chemin self.x = pos_x self.y = pos_y Seule la fenêtre fen s'affiche mais pas l'image.... Quelqu'un aurait il une idée sur la raison pour laquelle l'image ne s'affiche pas. Merci Cordialement def affiche_image(): load = Image.open(self.chemin) photo = ImageTk.PhotoImage(load) label_img = tk.Label(root, image = photo) label_img.place(x = self.x, y = self.y) aff_img = Image("image_1.png", 200, 10) aff_img.affiche_image() fen.mainloop()
Configuration: Windows / Chrome 94.0.4606.61
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Attributeerror: type object 'image' has no attribute 'open'
- Open office gratuit - Télécharger - Suite bureautique
- Open core legacy patcher - Accueil - MacOS
- Image iso - Guide
- Acronis true image - Télécharger - Sauvegarde
- Reduire taille image - Guide
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
es-tu certain de ton utilisation de root?
es-tu certain de ton utilisation de root?
Bonjour,
Merci d'avoir pris le temps de répondre.
Oui bien vu j'ai tapé root mais en fait il s'agit bien de fen ,mais même après correction je n'obtiens pas le résultat souhaité (c'est à dire affichage de l'image).
Merci
Cordialement.
Merci d'avoir pris le temps de répondre.
Oui bien vu j'ai tapé root mais en fait il s'agit bien de fen ,mais même après correction je n'obtiens pas le résultat souhaité (c'est à dire affichage de l'image).
Merci
Cordialement.
Bonjour,
Merci pour la réponse, ça fonctionne avec l'ajout de la dernière ligne (label_img.pour_eviter_bug=photo), dans la fonction .
Par contre en ajoutant cette ligne dans la classe j'ai une erreur :
File "C:\Python\ExoPython\test_image.py", line 196, in affiche_image
load = Image.open(self.chemin)
AttributeError: type object 'Image' has no attribute 'open'
Je ne vois pas ce qui provoque cette erreur, avez vous une idée ?
Merci, bon dimanche.
Cordialement.
Merci pour la réponse, ça fonctionne avec l'ajout de la dernière ligne (label_img.pour_eviter_bug=photo), dans la fonction .
Par contre en ajoutant cette ligne dans la classe j'ai une erreur :
File "C:\Python\ExoPython\test_image.py", line 196, in affiche_image
load = Image.open(self.chemin)
AttributeError: type object 'Image' has no attribute 'open'
Je ne vois pas ce qui provoque cette erreur, avez vous une idée ?
Merci, bon dimanche.
Cordialement.