1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| from Tkinter import *
from PIL import Image, ImageTk
from operations_image import *
global photo, L, H, dico_image
photo, L, H = 0, 0, 0
dico_image = {}
def ouvrir(event):
global photo, L, H, dico_image
photo=Image.open(entree.get())
dico_image['photo']= photo
(L,H)=photo.size
can.configure(width=L, height=H)
photo_tk = ImageTk.PhotoImage(photo)
dico_image['photo tk'] = photo_tk
can.delete(fen,ALL)
can.create_image(L//2,H//2,image =photo_tk)
can.pack(side=RIGHT)
def traitement(operation):
global photo, L, H, dico_image
new=Traitement()
if operation == "filtrerouge":
traite=new.filtrerouge(photo,L,H)
elif operation == "filtrebleu":
traite=new.filtrebleu(photo,L,H)
elif operation == "filtrevert":
traite=new.filtrevert(photo,L,H)
dico_image['photo traite']=traite
traite_tk=ImageTk.PhotoImage(traite)
dico_image['photo traite tk'] = traite_tk
can.delete(fen,ALL)
can.create_image(L//2,H//2,image=traite_tk)
if __name__ == "__main__":
fen=Tk()
can=Canvas(fen, width =5, height =5)
dico_image = {}
entree=Entry(fen)
entree.bind('<Return>',ouvrir)
entree.pack()
Button(fen,text='Filtre rouge',command=traitement("filtrerouge")).pack(side=RIGHT)
fen.mainloop() |
Partager