AllToMP3 / smartcrop-sharp

Node module for using smartcrop via sharp/libvips

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

smartcrop-sharp

Build Status

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

Installation

npm install --save smartcrop-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

var request = require('request');
var sharp = require('sharp');
var smartcrop = require('smartcrop-sharp');

function applySmartCrop(src, dest, width, height) {
  request(src, {encoding: null}, function process(error, response, body) {
    if (error) return console.error(error);
    smartcrop.crop(body, {width: width, height: height}).then(function(result) {
      var crop = result.topCrop;
      sharp(body)
        .extract({width: crop.width, height: crop.height, left: crop.x, top: crop.y})
        .resize(width, height)
        .toFile(dest);
    });
  });
}

var src = 'https://raw.githubusercontent.com/jwagner/smartcrop-gm/master/test/flower.jpg';
applySmartCrop(src, '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.

About

Node module for using smartcrop via sharp/libvips


Languages

Language:JavaScript 96.4%Language:Vim Script 3.6%