Python pb ouvrir une image

Résolu/Fermé
luffy.luck Messages postés 31 Date d'inscription vendredi 21 mars 2008 Statut Membre Dernière intervention 18 décembre 2008 - 11 avril 2008 à 16:10
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 11 avril 2008 à 17:30
Bonjour,
je souhaiterais ouvrir une image et l'afficher dans un label, mais impossible d'y arriver mess d'erreur :AttributeError: class Image has no attribute 'open'

Mon code est :

from PIL import ImageTk , Image
from Tkinter import *
import tkFileDialog
#=====================Functions=============================
def Open_file():
"Function to open a file"
image = tkFileDialog.askopenfile(parent=window,mode='rb',title='Choose a file')
image = Image.open(image)
photo = ImageTk.PhotoImage(image)

label = Label(image=photo)
label.image = photo
label.pack()
#=======================Main program =========================
window=Tk()
window.title("Pictures_Viewer")
But=Button(window,text='Open',command=Open_file)
But.pack(side=LEFT)
window.mainloop()

Merci d'avance si vous avez une idée (je debute en python)

anthony
A voir également:

3 réponses

sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
11 avril 2008 à 16:30
Evite la syntaxe from X import Y, parceque tu risques d'avoir des conflits de noms (ce qui conduit à des erreurs parfois difficiles à diagnostiquer).


Voici le programme qui fonctionne:
import Image, ImageTk
import Tkinter, tkFileDialog
#=====================Functions=============================
def Open_file():
    "Function to open a file"
    image = tkFileDialog.askopenfile(parent=window,mode='rb',title='Choose a file')
    image = Image.open(image)
    photo = ImageTk.PhotoImage(image)

    label = Tkinter.Label(image=photo)
    label.image = photo
    label.pack()
#=======================Main program =========================
window=Tkinter.Tk()
window.title("Pictures_Viewer")
But=Tkinter.Button(window,text='Open',command=Open_file)
But.pack(side=Tkinter.LEFT)
window.mainloop() 
1
luffy.luck Messages postés 31 Date d'inscription vendredi 21 mars 2008 Statut Membre Dernière intervention 18 décembre 2008 3
11 avril 2008 à 16:40
okais merci bien, je pensais bien ke c'etais un truc dans ce genre. Ta reponce m'a bien aidé et je pense que je vais suivre ton conseil pour les importations.
Encore merci
anthony
1
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
11 avril 2008 à 17:30
De rien :-)
0