Anonymous user
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}}==
|