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
Vérifie que tu n'as pas redéfini la variable Image
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)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager