0.3.3 • Published 8 years ago

png-diff v0.3.3

Weekly downloads
38
License
MIT
Repository
github
Last release
8 years ago

PNG Diff

Small PNG diff utility, written in pure JS for Node.

npm install png-diff

Usage

(Check out the example folder.)

Both methods take two image paths/streams/buffers as input.

var fs = require('fs');
var PNGDiff = require('png-diff');

var image2Stream = fs.createReadStream('2.png');
PNGDiff.outputDiff('1.png', image2Stream, 'diffOutput.png', function(err, diffMetric) {
  if (err) throw err;
  // returns 0 if every pixel's the same; return 1 otherwise. Currently, these
  // are the only two possible metric values; possibility to tweak them in the
  // future
  console.log(diffMetric === 1 ? 'Difference detected.' : 'No difference');
  // highlights the difference in red
  console.log('Diff saved!');
});

var image1Buffer = fs.createReadStream('1.png');
PNGDiff.outputDiffStream(image1Buffer, '2.png', function(err, outputStream, diffMetric) {
  if (err) throw err;

  if (diffMetric === 0) {
    console.log('No difference, no need to output diff result.');
    return;
  }
  outputStream.pipe(fs.createWriteStream('diffOutput2.png'));
});

Second format:

var image2Stream = fs.createReadStream('2.png');
// output identical pixels as transparent instead of highlighting the diff
// (default: false)
PNGDiff.outputDiff('1.png', image2Stream, 'diffOutput.png', true , function(err, diffMetric) {
  if (err) throw err;
  console.log(diffMetric === 1 ? 'Difference detected.' : 'No difference');
  // does not highlight the difference, but replaces common pixels with
  // transparent ones
  console.log('Diff saved!');
});

License

MIT.

0.3.3

8 years ago

0.3.2

8 years ago

0.3.1

9 years ago

0.3.0

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.0.1

10 years ago

0.0.0

10 years ago