im-resize
Efficient image resize with support for multiple thumbnail configurations using
ImageMagick's convert
command.
Requirements
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
- integer
width
- image pixel width - integer
height
- image pixel height - string
path
- complete path to source image
- object
output
- image resize output config
- string
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
)
- function
cb
- callback function (Error error
, object[] versions
)
- 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);
console.log(versions[0].width);
console.log(versions[0].height);
console.log(versions[1].path);
console.log(versions[1].width);
console.log(versions[1].height);
});