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 :

redimension d'une image


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 9
    Points
    9
    Par défaut redimension d'une image
    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!

  2. #2
    Membre du Club Avatar de Petugnia
    Profil pro
    Inscrit en
    Février 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2009
    Messages : 81
    Points : 63
    Points
    63
    Par défaut
    Salut, voici un lien qui pourra d'aider.

    http://python.developpez.com/faq/?page=Canvas

    Faites des tests


  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    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

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Points : 923
    Points
    923
    Par défaut
    Vérifie que tu n'as pas redéfini la variable Image

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    non, j'ai ça:

    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)
    Mais je ne touche pas au nom des modules

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Points : 923
    Points
    923
    Par défaut
    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

  7. #7
    Membre du Club Avatar de Petugnia
    Profil pro
    Inscrit en
    Février 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2009
    Messages : 81
    Points : 63
    Points
    63
    Par défaut
    j'ai remarqué une erreur d'après l'exemple.
    Dans ce code tu ouvre ton image virtuellement.

    Citation Envoyé par cicelle Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    img = Image.open(imgfile1)     #imgfile1 contient le nom du fichier biensur
    Ensuite, tu le mets dans ta fenêtre. Mais tu n'a pas mis correctement la variable.
    Citation Envoyé par cicelle Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    photo = ImageTk.PhotoImage(image)
    tu devrais mettre img et non image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    photo = ImageTk.PhotoImage(img)
    J'espère que cela résoudra ton problème.

  8. #8
    Membre du Club Avatar de Petugnia
    Profil pro
    Inscrit en
    Février 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2009
    Messages : 81
    Points : 63
    Points
    63
    Par défaut
    Là aussi tu as mis un variable incorrect:

    Citation Envoyé par cicelle Voir le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    can.create_image(0,0, anchor = NW, image=photo)
    il devrai être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    can.create_image(0,0, anchor = NW, img=photo)
    Bonne chance

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

Discussions similaires

  1. [PHP 5.1] Redimension d'une image
    Par panganino dans le forum Langage
    Réponses: 1
    Dernier message: 12/05/2010, 12h47
  2. [GD] Redimension et upload d'une image
    Par gpsevasion dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 18/04/2010, 19h57
  3. redimension d'une image
    Par ninasec dans le forum MATLAB
    Réponses: 1
    Dernier message: 07/04/2009, 13h36
  4. [ImageMagick] Redimension d'une image
    Par Shin_RockmanX dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 24/04/2006, 21h17

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