im-resize

Efficient image resize with multiple versions support

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
im-resize
2052.3.27 years ago8 years agoMinified + gzip package size for im-resize in KB

Readme

im-resize
Build status NPM downloads NPM version Node version Dependency status
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
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);   // /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
});

MIT License