im-resize
Efficient image resize with support for multiple thumbnail configurations using ImageMagick's
convert
command.Requirements
- ImageMagick
Install
npm install im-resize --save
API
var resize = require('im-resize');
resize(object image
, object output
, function cb
)
Resize a given source image
into several versions
.- object
image
- source image to resize
width
- image pixel width
integer height
- image pixel height
string path
- complete path to source image- object
output
- image resize output config
prefix
image versions name prefix (default ""
)
string path
image versions directory path
integrer quality
- global version quality (default 80
)
object versions
- array of version objects* **string** `suffix` - suffix for the resized image (ex. `-small`)
* **integer** `maxWidth` - max width for resized image
* **integer** `maxHeight` - max height for resized image
* **integer** `quality` - quality for resized image (default `80`)
* **string** `aspect` - force aspectratio on resized image (ex. `4:3`)
* **boolean** `flatten` - used in conjunction with background
* **string** `background` - set background to transparent image (ex. `red`)
* **string** `format` - image format for resized image (ex. `png`)
Error error
- error output if command failed
object versions
- resized image versions* **string** `path` path to the resized image
Example
var image = {
path: '/path/to/image.jpg',
width: 5184,
height: 2623
};
var output = {
versions: [{
suffix: '-thumb',
maxHeight: 150,
maxWidth: 150,
aspect: "3:2"
},{
suffix: '-square',
maxWidth: 200,
aspect: "1:1"
}]
};
resize(image, output, function(error, versions) {
if (error) { console.error(error); }
console.log(versions[0].path); // /path/to/image-thumb.jpg
console.log(versions[0].width); // 150
console.log(versions[0].height); // 100
console.log(versions[1].path); // /path/to/image-square.jpg
console.log(versions[1].width); // 200
console.log(versions[1].height); // 200
});