Jump to content

Bitmap/Read a PPM file: Difference between revisions

Add Nimrod
(Added zkl)
(Add Nimrod)
Line 784:
return image
end</lang>
 
=={{header|Nimrod}}==
<lang nimrod>proc readPPM(f: TFile): Image =
if f.readLine != "P6":
raise newException(E_base, "Invalid file format")
 
var line = ""
while f.readLine(line):
if line[0] != '#':
break
 
var parts = line.split(" ")
result = img(parseInt parts[0], parseInt parts[1])
 
if f.readLine != "255":
raise newException(E_base, "Invalid file format")
 
var
arr: array[256, int8]
read = f.readBytes(arr, 0, 256)
pos = 0
 
while read != 0:
for i in 0 .. < read:
case pos mod 3
of 0: result.pixels[pos div 3].r = arr[i].uint8
of 1: result.pixels[pos div 3].g = arr[i].uint8
of 2: result.pixels[pos div 3].b = arr[i].uint8
else: discard
 
inc pos
 
read = f.readBytes(arr, 0, 256)</lang>
 
=={{header|OCaml}}==
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.