Bonjour,
je veux afficher une image dans un canevas et je voudrais qu'elle soit redimensionnée pour coller à la taille du canevas. J'utilise PIL et PhotoImage. Est ce que vous pouvez m'aider?
Merci!
Bonjour,
je veux afficher une image dans un canevas et je voudrais qu'elle soit redimensionnée pour coller à la taille du canevas. J'utilise PIL et PhotoImage. Est ce que vous pouvez m'aider?
Merci!
Salut, voici un lien qui pourra d'aider.
http://python.developpez.com/faq/?page=Canvas
Faites des tests
![]()
J'ai testé et il me dit :
File "main.py", line 16, in imgaffiche
img = Image.open(imgfile1)
AttributeError: class Image has no attribute 'open'
Pourtant j'ai bien importé Image de PIL
non, j'ai ça:
Mais je ne touche pas au nom des modules
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 from PIL import Image, ImageTk ... ... img = Image.open(imgfile1) #imgfile1 contient le nom du fichier biensur photo = ImageTk.PhotoImage(image) can.create_image(0,0, anchor = NW, image=photo)
Justement, vérifie qu'entre les lignes que tu as donné tu n'as pas défini autre chose nommé Image. Tu peux aussi essayer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 print dir(Image) #affiche la liste des méthodes disponibles print Image.__file__ #affiche le nom du fichier contenant l'objet Image
j'ai remarqué une erreur d'après l'exemple.
Dans ce code tu ouvre ton image virtuellement.
Ensuite, tu le mets dans ta fenêtre. Mais tu n'a pas mis correctement la variable.
tu devrais mettre img et non image :
J'espère que cela résoudra ton problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 photo = ImageTk.PhotoImage(img)
![]()
Là aussi tu as mis un variable incorrect:
il devrai être :
Bonne chance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 can.create_image(0,0, anchor = NW, img=photo)![]()
Partager