Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/03/2012, 22:17
Johnfredy
 
Fecha de Ingreso: marzo-2012
Mensajes: 1
Antigüedad: 12 años, 7 meses
Puntos: 0
Me podrian ayudar con este codigo python media

Cuando corro el siguiente codigo me aparese el siguiente error:

Código:
Traceback (most recent call last):
  File "C:\Users\John\Documents\Project2\tyarea7.py", line 4, in <module>
    width, height = media.get_width(image), media.get_height(image)
  File "C:\Python27\lib\site-packages\pygraphics\media.py", line 62, in get_width
    return pic.get_width()
AttributeError: 'unicode' object has no attribute 'get_width'
Que puedo hacer para corregirloo!!! Urgente es para mañana :(

Este es mi codigo:
Código Python:
Ver original
  1. i import media
  2. image = media.load_picture('fdsfds.jpg')
  3. width, height = media.get_width(image), media.get_height(image)
  4.  
  5. #para rotar una imagen 90 grados
  6. def rotation():
  7.     tmp = 0
  8.     color = []
  9.     for x in range(0, width-1):
  10.         for y in range(height-1, 0, -1):
  11.             pixel = media.get_pixel(image, x, y)
  12.             color.append(media.get_color(pixel))    
  13.     for y in range(0, height-1):
  14.         for x in range(0, width-1):
  15.             pixel = media.get_pixel(image, x, y)
  16.             media.set_color(pixel, color[tmp])
  17.             tmp = tmp + 1
  18.     media.save(image)
  19.     media.show(image)
  20.  
  21. #para que de el reflejo de una imagen
  22. def reflection ():
  23.     color = []
  24.     tmp = 0
  25.     for y in range(0, height):
  26.         for x in range(0, width-1):
  27.             pixel = media.get_pixel(image, x, y)
  28.             color.append(media.get_color(pixel))
  29.     for y in range(0, height):
  30.         for x in range(width-1, 0, -1):
  31.             pixel = media.get_pixel(image, x, y)
  32.             media.set_color(pixel, color[tmp])
  33.             tmp = tmp + 1    
  34.     media.save(image)
  35.     media.show(image)
  36.    
  37. #para que convierta una imagen a una escala mas pequeña
  38. def scale():
  39.     color = []
  40.     tmp = 0
  41.     for y in range(0, height, 2):
  42.         for x in range(0, width, 2):
  43.             pixel = media.get_pixel(image, x, y)
  44.             color.append(media.get_color(pixel))          
  45.     for y in range(0, (height/2)):
  46.         for x in range(0, (width/2)):
  47.             pixel = media.get_pixel(image, x, y)
  48.             media.set_color(pixel, color[tmp])
  49.             tmp = tmp + 1
  50.     media.crop_picture(image, 0, 0, ((width/2)-1), ((height/2)-1))
  51.     media.save(image)
  52.     media.show(image)
  53.  
  54. #Transformar una imagen a color a escala a grises  
  55. def grayscale():
  56.     for y in range(0, height):
  57.         for x in range(0, width):
  58.             pixel = media.get_pixel(image, x, y)
  59.             color = (media.get_red(pixel) + media.get_green(pixel) + media.get_blue(pixel))/3
  60.             media.set_red(pixel, color)
  61.             media.set_green(pixel, color)
  62.             media.set_blue(pixel, color)        
  63.     media.save(image)
  64.     media.show(image)
  65.  
  66. # Debe de dar el promedio de los colores rojo,verde y azul en un rango de 10 * 10 de la imagen
  67. def mosaic():
  68.     r, g, b, c = 0, 0, 0, 0
  69.     rango = 10
  70.     A = media.get_width(image)
  71.     L = media.get_height(image)
  72.     for y0 in range(0, L, rango):
  73.         for x0 in range(0, A, rango):
  74.             for y1 in range(y0,(y0+rango)):
  75.                 for x1 in range(x0,(x0+rango)):
  76.                     r=r+media.get_red(media.get_pixel(image, x1, y1))
  77.                     g=g+media.get_green(media.get_pixel(image, x1, y1))
  78.                     b=b+media.get_blue(media.get_pixel(image, x1, y1))
  79.             r=r/100
  80.             g=g/100
  81.             b=b/100
  82.             c = media.create_color(r,g,b)
  83.             for y1 in range(y0,y0+rango):
  84.                 for x1 in range(x0,x0+rango):
  85.                     media.set_color(media.get_pixel(image, x1, y1), c)
  86.     media.save(image)
  87.     media.show(image)
  88.    
  89. mosaic()

Última edición por razpeitia; 30/03/2012 a las 01:23 Razón: resaltado de sintaxis