Programa pintor
Requirementos
Escreva um programa pintor, um mini-Photoshop, e use-o para escrever uma
animação curta (50 quadros aproximadamente). Seu programa
deve ter as seguintes funcionalidades:
-
Pintura interativa em imagens (raster) coloridas (qualquer profundidade
entre 8 e 24 bits por pixel serve).
-
Usar o mouse ou outro device 2D para controlar onde será pintado.
Quando o botão esquerdo do mouse está abaixo, ele pinta e
quando levantado nao pinta.
-
Modificar a cor de pintura interativamente a partir de uma "palete" de
cores que deve ser mostrada ao usuário (com uma grande quantidade
disponível).
-
Pintar com cor sólida (pincel) de várias dimensões
(digamos entre 1x1 e 40x40 pixels ou mais). Pode-se escolher ente pinceis
quadrados ou circulares (mais bonitos).
-
Pintar com transparência. O usuário deve ser capaz de variar
a transparência de completamente transparente a completamente opaco.
-
Pintar com um pincel suavizante (blurring) que torna a imagem suavizada
onde passa (filtro suavizante). Recomenda-se usar uma janela de borração
maior que 3x3, ou fica difícil de ver o efeito.
-
Ler e salvar uma imagem de ou em um arquivo. Assim, pode-se pintar uma
imagem existenet e salvar seus resultados. Recomendamos salvar em formato
gif, se possível (há funções prontas para isso,
basta voce procurar na Internet).
Use seu programa para criar uma sequência de animação
quadro a quadro de pelo menos 50 quadros com um tema algo como "O que eu
gosto de fazer" ou algo que voce achar interessante. Por favor, faça
sua própria animação.
Nomeie cada frame como 00.gif, 01.gif, 02.gif, ... 49.gif, etc. Gere
um gif animado com esta sequencia e coloque num disquete identificado (o
qual deverá ser entregue no final). Coloque junto o seu código
(comentado).
Dicas
Sua animação pode ser inteiramente pintada à mão
ou pode ser pintada sobre uma imagem de fundo, digitalizada. por exemplo,
voce pode fazer um carro e outros objetos como pássaros, nuvens,
moverem-se numa cena de fundo.
Tenha certeza de que seu programa funciona para uma demonstração
no final do curso. E entenda cada linha de código dele, uma vez
que poderei perguntar sobre qualquer coisa no código. Recomendo
usar imagens de 640x480 pixels.
Há vários programas quer criam gif animados e os lêem.
Para mudar a cor de pintura, voce pode usar 3 "sliders" (mais fácil)
ou colocar caminhos coloridos selecionando onde o mouse clicar, ou ainda
mostrar um disco ou outra superfície com várias cores e deixar
o usuário clicar sobre uma delas. Opcionalmente, voce pode deixar
o usuário pegar uma cor da própria imagem sendo pintada (isso
é legal para retodar fotos, por exemplo).
Extra
Considere tambem:
-
pegar um pedaço retangular da imagem e usar como pincel;
-
pinceis que aumentam saturação, mudam tom, colocam ruídos,
realçam a imagem;
-
preenche regiões delimitadas na imagem;
-
desenha polígonos 2D ou curvas;
-
desfaz e refaz último comando.