Bonjour,
Voici un petit programme qui charge une image PNG de taille 800x800 et la redimensionne en 400x400 lorsque l'on clique dessus :
Ma question est, y a-t-il plus simple (et plus propre) que de repasser par la variable globale imgTk dans la fonction petit ? car comme elle change d'adresse, il faut repasser par un itemconfig.
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 from tkinter import * from PIL import Image, ImageTk def petit(evt) : global imgTk imgTk = ImageTk.PhotoImage(img.resize((400,400))) Fond.itemconfig(I, image = imgTk) fenetre = Tk() fenetre.geometry("800x800") Fond = Canvas(fenetre, width=800, height = 800) Fond.place(x=0, y=0) img = Image.open('img800.png') imgTk = ImageTk.PhotoImage(img) I = Fond.create_image(0 ,0, image = imgTk, anchor='nw') Fond.bind_all('<ButtonPress-1>', petit) fenetre.mainloop()
Merci,
Vincent
Partager