(1) Definir uma janela onde possam ser colocados os objectos;
(2) Gerar as imagens
(3) Posicionar as imagens e mostrar na janela
Reflectindo sobre o problema, não é difícil chegar à conclusão de que vamos andar a colocar quadriláteros de diferentes dimensões na nossa tela. Notar que as linhas são na realidade quadriláteros de pequena espessura. Podemos por isso modularizar o nosso programa desenvolvendo sub-programas que podem ser reutilizados!
Dito isto, uma solução possível é a seguinte:
01.
def
quadrilatero(lado_1,lado_2,cor):
02.
"""
03.
Cria uma figura rectangular, colorida.
04.
"""
05.
imagem
=
cImage.EmptyImage(lado_1,lado_2)
06.
pixel
=
cImage.Pixel(cor[
0
],cor[
1
],cor[
2
])
07.
for
coluna
in
range(lado_1):
08.
for
linha
in
range(lado_2):
09.
imagem.setPixel(coluna,linha,pixel)
10.
return
imagem
11.
12.
def
cria_e_mostra(lado_1,lado_2, cor, pos,janela):
13.
imagem
=
quadrilatero(lado_1,lado_2,cor)
14.
imagem.setPosition(pos[
0
],pos[
1
])
15.
imagem.draw(janela)
16.
17.
def
main():
18.
janela
=
cImage.ImageWin(
'Mondrian'
,
600
,
600
)
19.
# cria imagem, posiciona e mostra
20.
cria_e_mostra(
400
,
400
,(
255
,
0
,
0
),(
200
,
0
),janela)
21.
cria_e_mostra(
200
,
200
,(
0
,
0
,
255
),(
0
,
400
),janela)
22.
cria_e_mostra(
50
,
100
,(
255
,
255
,
0
),(
550
,
500
),janela)
23.
cria_e_mostra(
10
,
600
,(
0
,
0
,
0
),(
190
,
0
),janela)
24.
cria_e_mostra(
190
,
20
,(
0
,
0
,
0
),(
0
,
150
),janela)
25.
cria_e_mostra(
600
,
10
,(
0
,
0
,
0
),(
0
,
390
),janela)
26.
cria_e_mostra(
5
,
200
,(
0
,
0
,
0
),(
545
,
400
),janela)
27.
cria_e_mostra(
50
,
10
,(
0
,
0
,
0
),(
550
,
500
),janela)
28.
# finito!
29.
janela.exitOnClick()
No programa main temos os três passos bem identificados. A definição quadrilatero permite criar todas as formas necessárias. Compare com quadrado do problema 7.2. Finalmente, cria_e_mostra trata de criar as diferentes imagens, posicioná-las e mostrar na janela. Com os valores da figura o boneco é o apresentado na figura.


Sem comentários:
Enviar um comentário