08.02.2015 Views

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

notas de aula - Jerônimo C. Pellegrini<br />

O formato para armazenar as imagens será o Netpbm, descrito no Apêndice A. O<br />

procedimento write-pbm recebe uma imagem e uma porta de saída, e grava a imagem no<br />

formato Netpbm.<br />

No formato PBM a origem fica no canto superior esquerdo da imagem e a coordenada<br />

(x, y) representa a posição x pontos à direita e y pontos abaixo da origem:<br />

y<br />

x<br />

Preto e branco são representados respectivamente por um e zero, então devemos dar<br />

nomes a estas cores para que nosso programa fique <strong>com</strong>preensível.<br />

( define black 1)<br />

( define white 0)<br />

Uma imagem no formato PBM inicia <strong>com</strong> uma linha onde há apenas os caracteres<br />

P1, outra linha <strong>com</strong> o número de colunas e linhas da imagem, e em seguida os números<br />

representando os pixels, uma linha por vez.<br />

( define write-pbm-1<br />

( lambda (m out )<br />

( display "P1" out )<br />

( newline out )<br />

( write-matrix m out )))<br />

O procedimento make-image será idêntico a make-matrix.<br />

( define make-image make-matrix )<br />

( define image-rows matrix-rows )<br />

( define image-cols matrix-cols )<br />

O ponto (0, 0) da imagem representa o canto superior esquerdo. (image-set! img i j c)<br />

Modificará a cor do pixel (i, j) para c, sendo que i cresce da origem para baixo, e j cresce<br />

Versão Preliminar<br />

para a direita.<br />

( define image-set ! matrix-set !)<br />

( define image-ref matrix-ref )<br />

120<br />

[ 27 de outubro de 2010 at 15:47 ]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!