Bitmap/Read a PPM file: Difference between revisions

(→‎{{header|Julia}}: A new entry for Julia)
Line 1,005:
 
exit 0;</lang>
 
=={{header|Phix}}==
Based on [[Bitmap/Read_a_PPM_file#Euphoria|Euphoria]], requires write_ppm() from [[Bitmap/Write_a_PPM_file#Phix|Write_a_PPM_file]], to_gray from [[Bitmap/Grayscale_image#Phix|Grayscale_image]]
<lang Phix>function read_ppm(sequence filename)
sequence image, line
integer dimx, dimy, maxcolor
atom fn = open(filename, "rb")
if fn<0 then
return -1 -- unable to open
end if
line = gets(fn)
if line!="P6\n" then
return -1 -- only ppm6 files are supported
end if
line = gets(fn)
{{dimx,dimy}} = scanf(line,"%d %d%s")
line = gets(fn)
{{maxcolor}} = scanf(line,"%d%s")
image = repeat(repeat(0,dimy),dimx)
for y=1 to dimy do
for x=1 to dimx do
image[x][y] = getc(fn)*#10000 + getc(fn)*#100 + getc(fn)
end for
end for
close(fn)
return image
end function
sequence img = read_ppm("Lena.ppm")
img = to_gray(img)
write_ppm("LenaGray.ppm",img)</lang>
 
=={{header|PicoLisp}}==
7,806

edits