A simple streaming ascii PPM image parser/writer

  • ppm

Downloads in past


1200.0.011 years ago11 years agoMinified + gzip package size for ppm in KB


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.
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 the stream. When finished, calls result with the error/result of parsing the file.


Converts an image into an ASCII ppm stream
(c) 2013 Mikola Lysenko. BSD