ppm
This code implements a streaming parser/serializer for ascii PPM formatted images in JavaScript. The PPM file format is very simple and human readable, so it can be useful when debugging graphics applications. The downside though is that PPM is not a very efficient format, and so it is not really suitable for long term archival or transmission of images. For those applications, you should use a standard network image format like PNG or JPEG, depending on your requirements.
Usage/Installation
To install, first you do:
npm install ppm
And here is how you can use it to write/read back an image:
var ppm = require("ppm");
var image = [
[[255, 0, 0], [255, 0, 0], [255, 0, 0]],
[[0, 255, 0], [0, 255, 0], [0, 255, 0]],
[[0, 0, 255], [0, 0, 255], [0, 0, 255]]
];
ppm.parse(ppm.serialize(image), function(err, img) {
console.log(err, img);
});
The API is streaming, and should be compatible with all the stand node.js features from fs/net/etc..
ppm.parse(stream, cb(err, result))
Parses an ASCII ppm file from stream
. When finished, calls cb
with the
error and result of parsing the file. result
will be an array of arrays of the
form
[[r, g, b], [r, g, b], ...]
ppm.serialize(image)
Converts an array of arrays (RGB data; see above fo rformat) representing an image into an ASCII ppm stream.
Credits
(c) 2013 Mikola Lysenko. BSD