smartcrop-sharp
TypeScript icon, indicating that this package has built-in type declarations

2.0.8 • Public • Published

smartcrop-sharp

Tests

This is an adapter module for using smartcrop.js with node.js using sharp for image decoding.

Installation

You'll need to install sharp alongside smartcrop-sharp.

npm install --save smartcrop-sharp sharp

API

crop(image, options)

Image: string (path to file) or buffer

Options: options object to be passed to smartcrop

returns: A promise for a cropResult

Example

const sharp = require('sharp');
const smartcrop = require('smartcrop-sharp');

// finds the best crop of src and writes the cropped and resized image to dest.
function applySmartCrop(src, dest, width, height) {
  return smartcrop.crop(src, { width: width, height: height })
    .then(function(result) {
      const crop = result.topCrop;
      return sharp(src)
        .extract({ width: crop.width, height: crop.height, left: crop.x, top: crop.y })
        .resize(width, height)
        .toFile(dest);
    })
}

applySmartCrop('flower.jpg', 'flower-square.jpg', 128, 128);

Face Detection Example

Check out smartcrop-cli for a more advanced example of how to use smartcrop from node including face detection with opencv.

Changelog

2.0.8

  • Update peerDependency to sharp 0.32

2.0.7

  • Update peerDependency to sharp 0.31

2.0.6

  • Update peerDependency to sharp 0.30

2.0.5

  • Update peerDependency to sharp 0.29

2.0.4

  • Updated all dependencies
  • Added typescript definitions (with help from @nicholaschiang)

2.0.2

  • sharp is now a peer dependency you will need to install it via npm install sharp when updating
  • In short: It's a lot faster, especially when calculating bigger crops.
  • The quality of the crops should be comparable but the exact results are going to be different.

Dependents (26)

Package Sidebar

Install

npm i smartcrop-sharp

Weekly Downloads

3,317

Version

2.0.8

License

MIT

Unpacked Size

6.1 kB

Total Files

5

Last publish

Collaborators

  • jonas