Bonjour,
Je cherche à coder avec tkinter un bouton ayant pour commande une fonction avec comme argument une variable faisant référence à une fonction importée depuis un fichier extérieur.
Voilà ce que ça donne:
Avec comme fonction importée :
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 from tkinter import * from PIL import Image,ImageTk from operations_image import * def ouvrir(event): 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): traite=photo.operation dico_image['photo traitée']=traite traite_tk=ImageTk.PhotoImage(traite) dico_image['photo traitée tk'] can.delete(fen,ALL) can.create_image(L//2,H//2,image=traite_tk) 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(photo,L,H))).pack(side=RIGHT) fen.mainloop()
Et j'ai comme message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 class Traitement(object): def filtrerouge(self,image,Longueur,Hauteur): "Filtre ne laissant passer que le rouge" self.filtrerouge=Image.new('RGB', (Longueur,Hauteur)) for x in range(Longueur): for y in range (Hauteur): p=image.getpixel((x,y)) self.filtrerouge.putpixel((x,y), (p[0],0,0)) return self.filtrerouge
Quelqu'un pourrait-il m'aider s'il-vous-plaît ? Je pédale dans la semoule depuis un petit bout de temps
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Traceback (most recent call last): File "C:\Users\HP\Documents\Prépa\PCSI\Informatique\Scripts\Projet traitement image\Traitement Image 2.0.py", line 47, in <module> Button(fen,text='Filtre rouge',comand=traitement(filtrerouge,photo,L,H)).pack(side=RIGHT) NameError: name 'filtrerouge' is not defined![]()
Partager