[PIL] redimensionner une image avec resize
Bonjour, je travaille actuellement sur un projet python avec Tkinter.
Je souhaite créer un canevas dans lequel j'affiche une image.
Mais je souhaite redimensionner l'image avant, a l'aide de resize.
voici mon code :
Code:
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
| from Tkinter import *
from PIL import Image
fen1 = Tk()
# cr?ation de widgets 'Label' et 'Entry' :
txt1 = Label(fen1, text ='Premier champ :')
txt2 = Label(fen1, text ='Second :')
txt3 = Label(fen1, text ='Troisi?me :')
entr1 = Entry(fen1)
entr2 = Entry(fen1)
entr3 = Entry(fen1)
# cr?ation d'un widget 'Canvas' contenant une image bitmap :
photo = Image.open('diable.gif')
resolution = (160,160)
photo.resize(resolution)
can1 = Canvas(fen1, width =160, height =160, bg ='white')
item = can1.create_image(160, 160, image =photo)
# Mise en page ? l'aide de la m?thode 'grid' :
txt1.grid(row =1, sticky =E)
txt2.grid(row =2, sticky =E)
txt3.grid(row =3, sticky =E)
entr1.grid(row =1, column =2)
entr2.grid(row =2, column =2)
entr3.grid(row =3, column =2)
can1.grid(row =1, column =3, rowspan =3, padx =10, pady =5)
# d?marrage :
fen1.mainloop() |
quand je le lance, j'obtiens :
Code:
1 2 3 4 5 6 7 8
| Traceback (most recent call last):
File "H:\Travail\ISN\Projet ISN Fin annee\Insertion image.py", line 34, in <module>
item = can1.create_image(160, 160, image =photo)
File "C:\Python27\lib\lib-tk\Tkinter.py", line 2198, in create_image
return self._create('image', args, kw)
File "C:\Python27\lib\lib-tk\Tkinter.py", line 2189, in _create
*(args + self._options(cnf, kw))))
TclError: image "<PIL.GifImagePlugin.GifImageFile image mode=P size=1024x968 at 0xEDDA08>" doesn't exist |
je ne vois pas d'où vient l'erreur.