23 lines
773 B
Scheme
23 lines
773 B
Scheme
(define (write-ppm image file)
|
|
(define (write-image image)
|
|
(define (write-row row)
|
|
(define (write-colour colour)
|
|
(if (not (null? colour))
|
|
(begin (write-char (integer->char (car colour)))
|
|
(write-colour (cdr colour)))))
|
|
(if (not (null? row))
|
|
(begin (write-colour (car row)) (write-row (cdr row)))))
|
|
(if (not (null? image))
|
|
(begin (write-row (car image)) (write-image (cdr image)))))
|
|
(with-output-to-file file
|
|
(lambda ()
|
|
(begin (display "P6")
|
|
(newline)
|
|
(display (length (car image)))
|
|
(display " ")
|
|
(display (length image))
|
|
(newline)
|
|
(display 255)
|
|
(newline)
|
|
(write-image image)))))
|