Bitmap/Write a PPM file: Difference between revisions
Content added Content deleted
(Added PHP implementation) |
(Added Scheme) |
||
Line 539: | Line 539: | ||
alias_method :write, :save |
alias_method :write, :save |
||
end</lang> |
end</lang> |
||
=={{header|Scheme}}== |
|||
{{Works with|Scheme|R<math>^5</math>RS}} |
|||
<lang 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)))))</lang> |
|||
Example using definitions in [[Basic bitmap storage#Scheme]]: |
|||
<lang scheme>(define image (make-image 800 600)) |
|||
(image-fill! image *black*) |
|||
(image-set! image 400 300 *blue*) |
|||
(write-ppm image "out.ppm")</lang> |
|||
=={{header|Tcl}}== |
=={{header|Tcl}}== |
||
{{libheader|Tk}} |
{{libheader|Tk}} |