Foros del Web » Programando para Internet » Python »

Validar tamaño de una imagen

Estas en el tema de Validar tamaño de una imagen en el foro de Python en Foros del Web. Saludos! El problema que presento es que no encuentro como validar una imagen seleccionada por el usuario en una GUI que estoy desarrollando con Gtk2, ...
  #1 (permalink)  
Antiguo 09/11/2011, 08:10
 
Fecha de Ingreso: noviembre-2011
Mensajes: 12
Antigüedad: 13 años
Puntos: 0
Validar tamaño de una imagen

Saludos! El problema que presento es que no encuentro como validar una imagen seleccionada por el usuario en una GUI que estoy desarrollando con Gtk2, debido a que la imagen no puede ser de cualquier medida sino que tiene unas especificas para que pueda ser usada. El programa me guarda la ruta de la imagen, pero no encuentro la forma de solo tomar el nombre, he intentado de varias formas tomando la ruta pero me indica un error que dice que no puedo concatenar cadenas con otro tipo de objetos. A quien me pueda ayudar se lo agradezco de antemano, aquí dejo el código de como lo construí .
Código Python:
Ver original
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import os
  4. import gtk
  5. import Image
  6.  
  7. texto = gtk.Entry()
  8.  
  9. def buscar_imagen(button):
  10.     buscador = gtk.FileChooserDialog("Ruta de imagen .png", None, gtk.FILE_CHOOSER_ACTION_OPEN,
  11.                                         (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
  12.                                         gtk.STOCK_OK, gtk.RESPONSE_OK))
  13.     filter = gtk.FileFilter()
  14.     filter.set_name("Imagenes")
  15.     filter.add_mime_type("Imagenes/png")
  16.     filter.add_pattern("*.png")
  17.     buscador.add_filter(filter)
  18.     respuesta = buscador.run()
  19.     ruta = buscador.get_filename()
  20.     buscador.destroy()
  21.            
  22.     #~ ancho = filename.size[1024]
  23.     #~ largo = filename.size[768]
  24.  
  25.     if respuesta == gtk.RESPONSE_OK:
  26.         texto.set_text(ruta)
  27.  
  28. class Configuracion():
  29.    
  30.     def __init__(self):
  31.         self.ventana = gtk.Window(gtk.WINDOW_TOPLEVEL)
  32.         self.ventana.set_title("VALIDANDO")
  33.         self.ventana.set_border_width(10)
  34.         self.ventana.set_size_request(650, 200)
  35.         self.ventana.set_resizable(False)
  36.        
  37.         caja = gtk.HBox()
  38.         caja.set_border_width(10)
  39.        
  40.         etiqueta=gtk.Label("Introduzca una imagen PNG llamada “imagen.png”\n de una dimensión no mayor a 1024x768 pixeles,\n la cuál servirá de fondo en el menú de inicio: ")
  41.        
  42.         boton = gtk.Button(" Examinar... ")
  43.         boton.connect("clicked", buscar_imagen)
  44.  
  45.         caja.pack_start(etiqueta, False)
  46.         caja.pack_start(texto, True)
  47.         caja.pack_start(boton, False)
  48.        
  49.         self.ventana.add(caja)
  50.         self.ventana.show_all()
  51.        
  52.            
  53. if __name__ == "__main__":
  54.     app = Configuracion()
  55.     gtk.main()
  #2 (permalink)  
Antiguo 09/11/2011, 09:53
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Validar tamaño de una imagen

Necesitas usar el modulo PIL para saber el tamaño de la imagen.
  #3 (permalink)  
Antiguo 09/11/2011, 14:44
 
Fecha de Ingreso: noviembre-2011
Mensajes: 12
Antigüedad: 13 años
Puntos: 0
Respuesta: Validar tamaño de una imagen

El problema es que aun no puedo capturar el nombre de la imagen para saber el tamaño de la misma, solo tengo la ruta.
  #4 (permalink)  
Antiguo 10/11/2011, 06:51
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Validar tamaño de una imagen

¿cómo que solamente está la ruta? ¿y qué te devuelve get_filename()? debería devolverte el archivo...
  #5 (permalink)  
Antiguo 10/11/2011, 07:56
 
Fecha de Ingreso: noviembre-2011
Mensajes: 12
Antigüedad: 13 años
Puntos: 0
Respuesta: Validar tamaño de una imagen

El get_filemane() me devuelve la ruta, no se por qué lo hace, debería devolverme el nombre del archivo pero no lo hace :(
  #6 (permalink)  
Antiguo 10/11/2011, 10:18
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Validar tamaño de una imagen

Código Python:
Ver original
  1. from PIL import Image
  2. ruta = "C:/ruta/a/tu/imagen"
  3. img = Image.open(ruta)
  4. print img.size
  #7 (permalink)  
Antiguo 10/11/2011, 10:34
 
Fecha de Ingreso: noviembre-2011
Mensajes: 12
Antigüedad: 13 años
Puntos: 0
Respuesta: Validar tamaño de una imagen

Muchísimas gracias amigo! eres un genio estuve largo rato estudiando el modulo PIL y no logre encontrar la solución de nuevo gracias

Etiquetas: tamaño, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:10.