Efficient image resize with support for multiple thumbnail configurations using
ImageMagick's convert
command.
- ImageMagick
npm install im-resize --save
var resize = require('im-resize');
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
- integer
- object
output
- image resize output config- string
prefix
image versions name prefix (default""
) - string
path
image versions directory path - integrer
quality
- global version quality (default80
) - 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 (default80
) - 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
)
- string
- string
- function
cb
- callback function (Errorerror
, object[]versions
)- Error
error
- error output if command failed - object[]
versions
- resized image versions- string
path
path to the resized image
- string
- Error
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
});