Oficina de Desenho

20 July 2007 - 18:06      

A Oficina de Desenho é um software de desenho parecido com o Paint, leve e com recursos básicos de edição e manipulação de imagens, é programada em python e utiliza biblioteca gráfica PyGTK. Ela está sendo adaptada para o XO por uma equipe do NATE.

Clique na imagem abaixo para ver um Screen-shot da Oficina rodando no Sugar:

Entre as dificuldades para programar, uma das maiores foi a baixa velocidade de processamento dos objetos do tipo lista em python. Isto trazia problemas por exemplo para a função de preenchimento que era baseada no algoritmo Flood Fill e executava muito lentamente. Então decidiu-se utilizar um binding de C para esta função, já que C tem lista mais eficiente e de complexidade de ordem menor.

A estrutura básica de widgets do gtk é uma área de desenho (gtk.DrawingArea) com dois pixmaps, um temporário que não aparece na tela e é utilizado para receber modificações e outro que é o original e mostra a situação final do desenho. Os outros widgets, como toolbox, button, frame entre outros, interagem com a área de desenho enviando sinais para desenhar retas, formas pré-definidas (shapes), aplicar efeitos na imagem etc.

Na atividade, as ferramentas Undo e Redo copiam pixmaps a cada alteração que o usuário faz no desenho. Os pixmaps guardam informações da imagem que deve ser desenhada. Tendo todos os pixmaps da imagem armazenados, a ferramenta Undo ou Redo pode desfazer ou refazer qualquer parte perdida do desenho e recuperar informações de maneira muito eficaz.

A Oficina de Desenho encontra-se em estágio final de desenvolvimento e a equipe do NATE se orgulha do nível que a atividade está alcançando.

Para mais informações, visite http://wiki.laptop.org/go/Oficina_de_Desenho.

Categorias: Programação, Python |

Você pode reproduzi-lo! Indique apenas o Link!

Email    

Leia Artigos Relacionados



Você pode acompanhar os comentários deste artigo através do feed RSS 2.0 Você pode deixar um comentário ou, ou interligar ("trackback") com seu site.

AddThis Social Bookmark Button

Deixe um comentário