Python - Cargar una imagen mediante un boton

 
Vista:

Cargar una imagen mediante un boton

Publicado por LuisAngel (1 intervención) el 07/09/2017 08:18:44
Hola, soy nuevo en python estoy empezando a aprender a modificar imagenes mediante los operadores puntuales
me pidieron hacer un menú con cada operador modificando una imagen tengo este avance
el programa funciona hasta la parte de cargar la imagen luego lo muestra en la ventana pero no logro ponerlo dentro del método identidad para que este lo modifique y muestre nuevamente pero como imagen guardada.
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
from tkinter import *
from PIL import ImageTk, Image
from tkinter import filedialog
 
ancho = 0
alto = 0
 
ventana=Tk()
ventana.geometry("500x600+100+100")
ventana.title("Ejercicio 2")
 
##ventana.config(bg="Blue")
def abre():
    pic=filedialog.askopenfilename()
    img=Image.open(pic)
    o_size=img.size
    f_size=(200,200)
    factor = min(float(f_size[1])/o_size[1], float(f_size[0])/o_size[0])
    width = int(o_size[0] * factor)
    height = int(o_size[1] * factor)
    rImg= img.resize((width, height), Image.ANTIALIAS)
    rImg = ImageTk.PhotoImage(rImg)
    lblImage=Label(ventana,image=rImg).place(x=150,y=150)
    ventana.mainloop()
    return rImg
 
 
def identidad():
 
    salida = Image.new("L",(ancho,alto))
    for i in range(img.size[0]):
        for j in range(img.size[1]):
            p = img.getpixel((i,j))
            q = p
            salida.putpixel((i,j),q)
    return salida
 
##labeles##
,font=("Agency FB",18)).place(x=0,y=10)
lbldes=Label(text="Crear en python un menu para seleccionar el tipo de operador puntual a mostrar."
,font=("Agency FB",16)).place(x=10,y=45)
lblimang=Label(text="Pulse para cargar imagen",font=("Agency FB",14)).place(x=25,y=80)
##botones##
btnImag=Button(ventana,text="cargar Imagen",command=abre,font=("Agency FB",14),width=15).place(x=200,y=80)
ventana.mainloop()
btnidentidad=Button(ventana,text="Mostrar Operador Identidad",command=identidad,
                   font=("Agency FB",14)).place(x=40,y=400)
gracias por tomar su tiempo y su ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder