A streaming interface for resizing image buffers in node.
Internally, this is actually buffering the stream input before creating the resized image using the canvas module and pushing out the new image buffer synchronously. So there's room for improvement - pull requests welcome :)
createStream(width, height[, options])
Creates a transform stream which will take an image buffer as input, streaming
out a resized image buffer as output. Both
height are optional
parameters, but you must specify at least one of them. You can omit them by
null, e.g. to resize to fit 100 pixels high:
var resize = require('image-resize-stream') var fs = require('fs') fs.createReadStream('original.png') .pipe(resize(null, 100)) .pipe(fs.createWriteStream('original-100.png'))
The stream's options are as follows:
false, defaulting to
format: may be either
quality: if creating a jpg image, this should be a number between 0 and 100 to determine the quality of the output image.
smaller: whether to scale to handle the smallest of width/height or heighest, when both are supplied. Defaults to
MIT. See LICENSE.md for details.