Bonjour,
J'ai un programme qui fonctionne bien sous Tkinter, mais je veux faire quelque chose qui me semble à priori assez simple : redimensionner l'image que j'affiche dans un canevas à la taille de celui ci.
Après de multiples tentatives, j'ai compris qu'il fallait que j'en passe par PIL, mais ça foire totalement.
Le code que je viens d'écrire fonctionne. Mais quand j'enlève un des deux dièses, ça ne va plus.
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 from tkinter import * from PIL import Image, ImageTk import random img = Image.open("vache.gif") print(img) (larg1,haut1)= img.size print(larg1) print(haut1) #img.show() #photo1 = ImageTk.PhotoImage(img)
Quand j'enlève le premier, je n'ai pas de message d'erreur, ça n'affiche rien, et j'ai dans la console :
Quand j'enlève le second, j'ai un message d'erreur avec :Le programme n'a pas pu ˆtre lanc‚, ou aucun programme n'est associ‚ au fichier sp‚cifi‚.
ShellExecuteEx a ‚chou‚: SuccŠs.
Je ne sais pas si ça peut avoir un rapport, mais je code sous EduPython. Que j'ai installé sur mon ordi Linux avec Wine.Traceback (most recent call last):
File "<string>", line 566, in run_nodebug
File "Z:\...\essai_images.py", line 17, in <module>
photo1 = ImageTk.PhotoImage(img)
File "c:\EduPython\App\lib\site-packages\PIL\ImageTk.py", line 117, in __init__
self.__photo = tkinter.PhotoImage(**kw)
File "c:\EduPython\App\lib\tkinter\__init__.py", line 3421, in __init__
Image.__init__(self, 'photo', name, cnf, master, **kw)
File "c:\EduPython\App\lib\tkinter\__init__.py", line 3362, in __init__
raise RuntimeError('Too early to create image')
RuntimeError: Too early to create image
Merci d'avance de vos réponses !
PS : si quelqu'un connait un équivalent de Edupython ou Pyscripter qui fonctionne bien directement sous Linux, sans avoir à passer par un émulateur Windows, je suis partant !
Partager