imagemagick-native-promise
JavaScript Promise wrapper for node-imagemagick-native
Features
Promise supported methods
Please look full API reference at https://github.com/elad/node-imagemagick-native/blob/master/README.md
Original's table of contents
Examples
Convert formats
Convert from one format to another with quality control:
imagemagick.convert({
srcData: fs.readFileSync('before.jpg'),
format: 'PNG',
quality: 100
})
.then((buffer) => {
fs.writeFileSync('after.png', buffer);
})
.catch((e) => {
console.error(e);
})
Blur
Blur image:
imagemagick.convert({
srcData: fs.readFileSync('before.jpg'),
blur: 5
})
.then((buffer) => {
fs.writeFileSync('after.jpg', buffer);
})
.catch((e) => {
console.error(e);
})
Resize
Resized images by specifying width
and height
. There are three resizing styles:
aspectfill
: Default. The resulting image will be exactly the specified size, and may be cropped.aspectfit
: Scales the image so that it will not have to be cropped.fill
: Squishes or stretches the image so that it fills exactly the specified size.
imagemagick.convert({
srcData: fs.readFileSync('before_resize.jpg'),
width: 100,
height: 100,
resizeStyle: 'aspectfill',
gravity: 'Center'
})
.then((buffer) => {
fs.writeFileSync('after_resize.jpg', buffer);
})
.catch((err) => {
console.error(err);
})
Rotate, flip, and mirror
Rotate and flip images, and combine the two to mirror:
imagemagick.convert({
srcData: fs.readFileSync('before_rotateflip.jpg'),
rotate: 180,
flip: true
})
.then((buffer) => {
fs.writeFileSync('after_rotateflip.jpg', buffer);
})
.catch((err) => {
console.error(err);
})