The pngcrush utility as a readable/writable stream
npm install pngcrush



The pngcrush command line utility as a readable/writable stream. This
is handy for situations where you don't want to worry about writing
the input to disc and reading the output afterwards.
The constructor optionally takes an array of command line options for
the pngcrush binary:
``javascript
var PngCrush = require('pngcrush'),
myCrusher = new PngCrush(['-res', 300, '-rle']);
sourceStream.pipe(myCrusher).pipe(destinationStream);
`
PngCrush as a web service (removes all ancillary chunks and does brute
force compression):
`javascript
var PngCrush = require('pngcrush'),
http = require('http');
http
.createServer(function (req, res) {
if (req.headers['content-type'] === 'image/png') {
res.writeHead(200, { 'Content-Type': 'image/png' });
req.pipe(new PngCrush(['-brute', '-rem', 'alla'])).pipe(res);
} else {
res.writeHead(400);
res.end('Feed me a PNG!');
}
})
.listen(1337);
`
Make sure you have node.js and npm installed, and that the pngcrush binary is in your PATH, then run:
npm install pngcrush
3-clause BSD license -- see the LICENSE` file for details.