Python : insertion d'image

Cinda06 Messages postés 2 Statut Membre -  
Gozmo Messages postés 79 Statut Membre -
Bonjour à tous !

J'ai un petit soucis : je débute en python et j'essaie d'insérer une image dans un Canvas . Voici mon code :


from Tkinter import *

fen1 = Tk()

can1 = Canvas(fen1, width =160, height =160, bg ='white')
photo = PhotoImage(file ='image.gif')
item = can1.create_image(80, 80, image =photo)
fen1.mainloop()


Lorsque je compile, l'image n'est pas reconnue ; pourtant elle est dans le même dossier que mes fichiers python...
Merci pour votre aide. Bonnee journée

3 réponses

Gozmo Messages postés 79 Statut Membre
 
Bonsoir,

Un petit bout de code qui te permet d'afficher une image (gif, jpg, png...) dans le canvas. Image et Imagetk font partie de PIL il me semble. Pour le reste faire une classe rend le code plus facilement réutilisable.
 #!/usr/bin/python
# -*- coding: iso-8859-1 -*-

import Image, ImageTk
import Tkinter

class Application(Tkinter.Tk):
    def __init__(self,parent):
        Tkinter.Tk.__init__(self,parent)
        self.parent = parent
        self.initialize()

    def initialize(self):
        self.grid()
        self.can1 = Tkinter.Canvas(self , width = 160 , height = 160)
        self.can1.grid(row=0 , column=0)
        self.image = Image.open('image.gif')
        self.image = ImageTk.PhotoImage(self.image)
        self.can1.create_image(80, 80, image = self.image)
        Tkinter.Button(self,text = 'Fermer',\
                       command = self.quit).grid(row = 1, column = 0)

if __name__ == "__main__":
    app = Application(None)
    app.title('Mon image')
    app.configure(bg = "#ffffff")
    app.mainloop()
    app.destroy() 
Si tu as des questions, n'hésite pas.
6