Problème pour afficher une image avec tkinter
Résolu/Fermé
A voir également:
- Afficher une image tkinter
- Image iso - Guide
- Comment agrandir une image - Guide
- Acronis true image - Télécharger - Sauvegarde
- Google recherche par image - Guide
- Faststone image viewer - Télécharger - Visionnage & Diaporama
4 réponses
Phil_1857
Messages postés
1883
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
178
15 mai 2022 à 12:07
15 mai 2022 à 12:07
Bonjour,
Tu devrais afficher ton code avec les balises de code, mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Sinon, moi, pour afficher une image avec Tkinter, je fais ça:
Tu devrais afficher ton code avec les balises de code, mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Sinon, moi, pour afficher une image avec Tkinter, je fais ça:
from tkinter import * def affichage(): ''' Affiche une image ''' graph_area.create_image(235,10,anchor = NW, image=leaf) WIDTH, HEIGHT = 710, 380 main_win = Tk() main_win.configure(background = 'light grey') main_win.title('Images') main_win.geometry(str(WIDTH)+'x'+str(HEIGHT)+'+300+100') graph_area = Canvas(main_win,bg='azure',height=HEIGHT-20,width=WIDTH-20) graph_area.place(x = 10,y = 10) leaf = PhotoImage(file='leaf.gif') affichage() main_win.mainloop()
J' ai recopié le second code à l' identique en changeant le nom des images et ça me met l'erreur suivante :
_tkinter.TclError: couldn't recognize data in image file "carte1.jpg"
Est-ce qu' il faut que je convertisse le format des images pour que ça marche ou est-ce que l' erreur vient d' ailleurs ?
_tkinter.TclError: couldn't recognize data in image file "carte1.jpg"
Est-ce qu' il faut que je convertisse le format des images pour que ça marche ou est-ce que l' erreur vient d' ailleurs ?
Phil_1857
Messages postés
1883
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
178
Modifié le 15 mai 2022 à 16:51
Modifié le 15 mai 2022 à 16:51
Oui, c'est vrai qu'on affiche que des gif comme ça
Pour un jpeg, il faut faire ça:
et ensuite:
Pour un jpeg, il faut faire ça:
#ajouter ça au début from PIL import Image, ImageTk
et ensuite:
for k in range(len(images_list)): image = Image.open(images_list[k]) images.append(ImageTk.PhotoImage(image))
Phil_1857
Messages postés
1883
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
178
Modifié le 15 mai 2022 à 17:59
Modifié le 15 mai 2022 à 17:59
et si tu veux afficher les cartes en lignes et colonnes, pas besoin de trucs comme
Tu peux utiliser simplement l'opérateur modulo : %
Exemple avec 6 images à afficher sur 2 lignes et 3 colonnes:
if m-n==8 or m-n==16: colonne=1
Tu peux utiliser simplement l'opérateur modulo : %
Exemple avec 6 images à afficher sur 2 lignes et 3 colonnes:
nb_colonnes = 3 images = [1,2,3,4,5,6] x,y = 10,10 for k in range(len(images)): print('affichage image {} à x{} y{}'.format(images[k],x,y)) x += 20 if((k%3)+1 == nb_colonnes): x=10 y += 20
15 mai 2022 à 14:49