A streaming image resizer, for Node and the browser. Uses pica to perform high quality image resizing, and supports options to resize proportionally, stretch, fit, etc. Handles multi-frame images (e.g. animated GIFs) properly as well, thanks to pixel-stream.
npm install resizer-stream
Here is an example that resizes a JPEG (check out the jpg-stream module for a streaming JPEG decoder and encoder).
var resize = ;// scale the image proportionally to fit within a 300x300 squarefs;
There are many different combinations of options that resizer-stream understands.
widthprovided: image is scaled proportionally to width
heightprovided: image is scaled proportionally to height
heightprovided: image is stretched to fill the provided dimensions
fit: trueprovided: image is scaled proportionally to fit inside the provided dimensions
scalefactor provided: image is scaled proportionally by the provided scale factor
allowUpscale: by default, images are not scaled above their intrinsic size. To allow upscaling, set this option to