[pyar] Problema al utilizar una imagen de un método en otro
luis angel galindo narro
BADOGREAT en hotmail.com
Sab Sep 9 19:20:19 ART 2017
Fernando lo arregle un poco el codigo ya que estaba un poco desordenado pero ahora me sale otro error
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\BulleT\AppData\Local\Programs\Python\Python36-32\lib\tkinter\__init__.py", line 1699, in __call__
return self.func(*args)
File "C:\Users\BulleT\Desktop\1.py", line 22, in OnClick
imgGray=Image.open(fp)
File "C:\Users\BulleT\AppData\Local\Programs\Python\Python36-32\lib\site-packages\PIL\Image.py", line 2486, in open
prefix = fp.read(16)
File "C:\Users\BulleT\AppData\Local\Programs\Python\Python36-32\lib\codecs.py", line 321, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
>>>
aca el codigo
http://linkode.org/#hXB5beMkys6xKpcvDJVT2
Linkode<http://linkode.org/#hXB5beMkys6xKpcvDJVT2>
linkode.org
A calm, blue sky. ... Select a text type: ...
________________________________
De: fernando sierra <fernandosierra9 en gmail.com>
Enviado: viernes, 08 de septiembre de 2017 05:54 p.m.
Para: luis angel galindo narro
Asunto: Re: [pyar] Problema al utilizar una imagen de un método en otro
creo q se por q:
img=Image.open(pic)
rImg= img.resize((200, 200), Image.ANTIALIAS)
rImg = ImageTk.PhotoImage(rImg)
lblImage=Label(ventana,image=rImg).place(x=150,y=150)
return rImg
el q entiende los metodos resize y size es img(variable)
despues lo q haces le asignas a otro variable el resultado de img.resize a otra variable(rImg)
entonces esa imagen "Image.ANTIALIAS" esta en la varibla rlmg pero en la siguiente instruccion llamas a "ImageTk.PhotoImage(rImg)" y se lo asignas a rlmg (aca es donde esta mal) , se lo tendrias q asignar a otra variable para q haga lo de "ImageTk.PhotoImage(rImg)"" y esa varible reemplezarla aca lblImage=Label(ventana,image=VAriable).place(x=150,y=150).
Despues lo q tenes q retornar es rlmg q es la imagen q fue se le aplico el resize.
entonces cambia estas 2 lineas
Variable = ImageTk.PhotoImage(rImg)
lblImage=Label(ventana,image=Variable).place(x=150,y=150)
y tendria q andar.
#######Si no vas a tener q hacer lo siguiente , devolve imagen osea:
return img
en identidad agregas esta linea:
img=abre()
rImg= img.resize((200, 200), Image.ANTIALIAS)
salida = Image.new("L",(ancho,alto))
for i in range(rlmg.size[0]):
for j in range(rlmg.size[1]):
p = rlmg.getpixel((i,j))
q = p
salida.putpixel((i,j),q)
return salida
El 8 de septiembre de 2017, 17:30, luis angel galindo narro <BADOGREAT en hotmail.com<mailto:BADOGREAT en hotmail.com>> escribió:
hola Fernando, por favor como haria lo que me indicas,
al momento de mostrar la imagen me sale error
AttributeError: 'PhotoImage' object has no attribute 'size'
________________________________
De: fernando sierra <fernandosierra9 en gmail.com<mailto:fernandosierra9 en gmail.com>>
Enviado: viernes, 08 de septiembre de 2017 12:43 p.m.
Para: BADOGREAT en hotmail.com<mailto:BADOGREAT en hotmail.com>
Asunto: Fwd: [pyar] Problema al utilizar una imagen de un método en otro
hola yo también estoy iniciando con python
el unico cambio q haria seria agregar una definicion mas q haga lo de mostrar la imagen(ventana) y en abrir las caracteristicas de la imagen
def abre():
pic=filedialog.askopenfilename()
img=Image.open(pic)
rImg= img.resize((200, 200), Image.ANTIALIAS)
rImg = ImageTk.PhotoImage(rImg)
return rImg
def ventana_imagen():
img=abre()
lblImage=Label(ventana,image=img).place(x=150,y=150)
ventana.mainloop()
def identidad():
#llamo a abre q tiene la definicion de la imagen
img=abre()
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
btnImag=Button(ventana,text="cargar Imagen",command=ventana_imagen,font=("Agency FB",14),width=15).place(x=200,y=80)
btnIdentidad=Button(ventana,text="Operador Identidad",command=identidad,font=("Agency FB",14),width=15).place(x=30,y=370)
---------- Mensaje reenviado ----------
De: luis angel galindo narro <BADOGREAT en hotmail.com<mailto:BADOGREAT en hotmail.com>>
Fecha: 8 de septiembre de 2017, 13:40
Asunto: [pyar] Problema al utilizar una imagen de un método en otro
Para: "pyar en python.org.ar<mailto:pyar en python.org.ar>" <pyar en python.org.ar<mailto:pyar en python.org.ar>>
Hola,estoy iniciando con python y estoy aprendiendo con imágenes y sus operadores puntuales; el código funciona de la siguiente forma obtengo la imagen mediante un método y un botón,la imagen se muestra en un tamaño de 200x200 en la interfaz, de esto con otro botón quiero convertir la imagen con el método identidad
luego mostrar la imagen convertida , mi problema es que no entiendo como pasar la imagen que tengo del método abre() al método identidad().
aquí dejo el código que avance.
http://linkode.org/#Jx4U0FjRBgRCd1Bsbuk0r6
gracias por su atención y ayuda.
<http://linkode.org/#Jx4U0FjRBgRCd1Bsbuk0r6>
Linkode<http://linkode.org/#Jx4U0FjRBgRCd1Bsbuk0r6>
linkode.org<http://linkode.org>
A calm, blue sky. ... Select a text type: ...
_______________________________________________
Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar<mailto:pyar en python.org.ar>
Sitio web: http://www.python.org.ar/
Para administrar la lista (o desuscribirse) entrar a http://listas.python.org.ar/listinfo/pyar
La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20170909/fe5ba65d/attachment-0001.html>
Más información sobre la lista de distribución pyar