IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

Problème sous PIL pour configurer des images pour Tkinter [Python 3.X]


Sujet :

Tkinter Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    ingénieur génie civil
    Inscrit en
    Mars 2020
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur génie civil
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2020
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Problème sous PIL pour configurer des images pour Tkinter
    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.

    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)
    Le code que je viens d'écrire fonctionne. Mais quand j'enlève un des deux dièses, ça ne va plus.

    Quand j'enlève le premier, je n'ai pas de message d'erreur, ça n'affiche rien, et j'ai dans la console :
    Le programme n'a pas pu ˆtre lanc‚, ou aucun programme n'est associ‚ au fichier sp‚cifi‚.
    ShellExecuteEx a ‚chou‚: SuccŠs.
    Quand j'enlève le second, j'ai un message d'erreur avec :

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

    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 !

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 242
    Points : 36 699
    Points
    36 699
    Par défaut
    Salut,

    Pour la première erreur, img.show() n'affiche pas directement l'image, il lance une visionneuse avec le fichier (temporaire) de l'image en paramètre pour faire le boulot. Le message d'erreur dit juste que çà ne trouve pas le programme (la visionneuse) pour afficher l'image.

    La deuxième erreur est plus simple, avant de pouvoir créer une PhotoImage, il faut avoir démarrer tkinter (root = Tk()) avant.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Futur Membre du Club
    Homme Profil pro
    ingénieur génie civil
    Inscrit en
    Mars 2020
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur génie civil
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2020
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    La deuxième erreur est plus simple, avant de pouvoir créer une PhotoImage, il faut avoir démarrer tkinter (root = Tk()) avant.

    Merci beaucoup, ça fonctionne parfaitement !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème sous Vista pour des valeurs numériques
    Par papyxy dans le forum VBScript
    Réponses: 3
    Dernier message: 04/06/2014, 10h51
  2. Problème avec rrd4j et générer des images
    Par chouaiebnabil dans le forum Graphisme
    Réponses: 1
    Dernier message: 02/03/2009, 14h26
  3. problème sous IE pour placer un pied de page
    Par Ziltoid dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 18/10/2007, 12h35
  4. Problème sous Mozilla pour la mise en page.
    Par lolo. dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 10/06/2007, 22h37
  5. problème lors de l'affichage des images
    Par cari dans le forum Langage
    Réponses: 24
    Dernier message: 10/11/2006, 12h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo