15 lines
552 B
Text
15 lines
552 B
Text
global procedure write_ppm(string filename, sequence image)
|
|
integer 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
|
|
integer pixel = image[x][y] -- red,green,blue
|
|
sequence r_g_b = sq_and_bits(pixel,{#FF0000,#FF00,#FF})
|
|
r_g_b = sq_floor_div(r_g_b,{#010000,#0100,#01})
|
|
puts(fn,r_g_b)
|
|
end for
|
|
end for
|
|
close(fn)
|
|
end procedure
|