honrisse | Salut,
Je n'ai plus touché à Python depuis longtemps.
Code :
- def augmenter_luminosite(cadre):
- fen2=Tk()
- w1 = Scale(fen2, from_=-100, to=100, orient=HORIZONTAL)
- w1.pack()
- z = w1.get()
- print(z)
- luminosite(t_image, hauteur, largeur, z)
- rafraichir(cadre)
|
Si l'on affiche la valeur de z, elle est égale à 0 car il faut attendre que l'on ait fini de bouger le curseur avant de modifier la luminosité.
Ici, on affiche la fenêtre slider et tout de suite après on récupère la valeur du slider alors qu'il faudrait attendre la fin de la modification du slider (avec une callback fonction par exemple).
Je ne sais pas si je me suis bien fait comprendre. Par exemple quelque chose comme ça :
Code :
- #!/usr/bin/python3
- from tkinter import *
- from tkinter.filedialog import *
- from tableaux import *
- from pgm_raw import *
- from fonctions import *
- t_image=None
- largeur=-1
- hauteur=-1
- cadre=None
- slider=None
- # Nos fonctions ---------------------------------------------
- # Ouvrir_fichier --------------------
- def ouvrir_fichier(cadre, info):
- global image, t_image, hauteur, largeur
- nom_fichier = askopenfilename()
- image = PhotoImage(file = nom_fichier)
- cadre.configure(height=image.height(), width=image.width())
- cadre.create_image(0,0, anchor = NW, image = image)
- t_image,hauteur,largeur=lire_fichier_pgm_binaire(nom_fichier)
- cadre.bind("<Motion>", lambda event : mouse (event, info))
- # file_save ------------------------
- def file_save():
- file_name=asksaveasfilename()
- if file_name==' ':
- return
- ecrire_fichier_pgm_binaire(t_image ,image.width() ,image.height() ,file_name)
- def rafraichir(cadre):
- global image
- global t_image
- file=mkstemp()
- ecrire_fichier_pgm_binaire(t_image, hauteur, largeur, "toto.pgm" )
- image=PhotoImage(file="toto.pgm" )
- cadre.create_image(0,0,anchor='nw',image=image)
- # remove(file[1])
- # La fonction Mouse
- def mouse(event, info):
- x = event.x
- y = event.y
- info.configure(text= "x: " + str(x) + " y: " + str(y) + " val: " + image.get(x, y))
- def sel(cadre):
- z = slider.get()
- print(z)
- luminosite(t_image, hauteur, largeur, z)
- rafraichir(cadre)
- def augmenter_luminosite(cadre):
- global slider
- fen2=Tk()
- slider = Scale(fen2, from_=-100, to=100, orient=HORIZONTAL)
- slider.pack()
- button = Button(fen2, text="Apply Scale Value", command=lambda:sel(cadre))
- button.pack(anchor=CENTER)
- def rotation():
- fen1=Tk()
- Bouton90d=Button(fen1, text="Rotation à 90° à droite", command=lambda:rotationA90Droite(t_image,hauteur,largeur))
- Bouton90g=Button(fen1, text="Rotation à 90° à gauche", command=lambda:rotationA90Gauche(t_image,hauteur,largeur))
- Bouton180=Button(fen1, text="Rotation à 180°", command=lambda:rotation180(t_image,hauteur,largeur))
- Bouton90d.pack()
- Bouton90g.pack()
- Bouton180.pack()
- def inversionInit():
- inversion(t_image, hauteur, largeur)
- def rafraichirInit():
- rafraichir(t_image, hauteur, largeur)
|
Message édité par honrisse le 27-05-2014 à 22:30:50
|