Bonjour,

Voici un petit programme qui charge une image PNG de taille 800x800 et la redimensionne en 400x400 lorsque l'on clique dessus :

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()
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.

Merci,
Vincent