Python - Ayuda con tarea

   
Vista:

Ayuda con tarea

Publicado por John (1 intervención) el 30/03/2012 06:09:13
Cuando corro el siguiente codigo me aparese el siguiente error:

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:
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
i import media
image = media.load_picture('fdsfds.jpg')
width, height = media.get_width(image), media.get_height(image)
 
#para rotar una imagen 90 grados
def rotation():
    tmp = 0
    color = []
    for x in range(0, width-1):
        for y in range(height-1, 0, -1):
            pixel = media.get_pixel(image, x, y)
            color.append(media.get_color(pixel))
    for y in range(0, height-1):
        for x in range(0, width-1):
            pixel = media.get_pixel(image, x, y)
            media.set_color(pixel, color[tmp])
            tmp = tmp + 1
    media.save(image)
    media.show(image)
 
#para que de el reflejo de una imagen
def reflection ():
    color = []
    tmp = 0
    for y in range(0, height):
        for x in range(0, width-1):
            pixel = media.get_pixel(image, x, y)
            color.append(media.get_color(pixel))
    for y in range(0, height):
        for x in range(width-1, 0, -1):
            pixel = media.get_pixel(image, x, y)
            media.set_color(pixel, color[tmp])
            tmp = tmp + 1
    media.save(image)
    media.show(image)
 
#para que convierta una imagen a una escala mas pequeña
def scale():
    color = []
    tmp = 0
    for y in range(0, height, 2):
        for x in range(0, width, 2):
            pixel = media.get_pixel(image, x, y)
            color.append(media.get_color(pixel))
    for y in range(0, (height/2)):
        for x in range(0, (width/2)):
            pixel = media.get_pixel(image, x, y)
            media.set_color(pixel, color[tmp])
            tmp = tmp + 1
    media.crop_picture(image, 0, 0, ((width/2)-1), ((height/2)-1))
    media.save(image)
    media.show(image)
 
#Transformar una imagen a color a escala a grises   
def grayscale():
    for y in range(0, height):
        for x in range(0, width):
            pixel = media.get_pixel(image, x, y)
            color = (media.get_red(pixel) + media.get_green(pixel) + media.get_blue(pixel))/3
            media.set_red(pixel, color)
            media.set_green(pixel, color)
            media.set_blue(pixel, color)
    media.save(image)
    media.show(image)
 
# Debe de dar el promedio de los colores rojo,verde y azul en un rango de 10 * 10 de la imagen 
def mosaic():
    r, g, b, c = 0, 0, 0, 0
    rango = 10
    A = media.get_width(image)
    L = media.get_height(image)
    for y0 in range(0, L, rango):
        for x0 in range(0, A, rango):
            for y1 in range(y0,(y0+rango)):
                for x1 in range(x0,(x0+rango)):
                    r=r+media.get_red(media.get_pixel(image, x1, y1))
                    g=g+media.get_green(media.get_pixel(image, x1, y1))
                    b=b+media.get_blue(media.get_pixel(image, x1, y1))
            r=r/100
            g=g/100
            b=b/100
            c = media.create_color(r,g,b)
            for y1 in range(y0,y0+rango):
                for x1 in range(x0,x0+rango):
                    media.set_color(media.get_pixel(image, x1, y1), c)
    media.save(image)
    media.show(image)
 
mosaic()
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