RosettaCodeData/Task/Bitmap-Write-a-PPM-file/Phix/bitmap-write-a-ppm-file-2.phix
2016-12-05 23:44:36 +01:00

16 lines
538 B
Text

procedure write_ppm(sequence filename, sequence image)
integer fn,dimx,dimy
sequence colour_triple
fn = open(filename,"wb")
dimx = length(image)
dimy = length(image[1])
printf(fn, "P6\n%d %d\n255\n", {dimx,dimy})
for y = 1 to dimy do
for x = 1 to dimx do
colour_triple = sq_div(sq_and_bits(image[x][y], {#FF0000,#FF00,#FF}),
{#010000,#0100,#01})
puts(fn, colour_triple)
end for
end for
close(fn)
end procedure