'use strict'; var fs = require('fs'), lwip = require('lwip'), plugins = require('./plugins'); var image = {}; image.resizeImage = function(path, extension, width, height, callback) { if (plugins.hasListeners('filter:image.resize')) { plugins.fireHook('filter:image.resize', { path: path, extension: extension, width: width, height: height }, function(err, data) { callback(err); }); } else { lwip.open(path, function(err, image) { image.batch() .cover(width, height) .crop(width, height) .writeFile(path, function(err) { callback(err) }) }); } }; image.normalise = function(path, extension, callback) { if (plugins.hasListeners('filter:image.normalise')) { plugins.fireHook('filter:image.normalise', { path: path, extension: extension }, function(err, data) { callback(err); }); } else { lwip.open(path, function(err, image) { if (err) { return callback(err); } image.writeFile(path, 'png', callback) }); } }; image.convertImageToBase64 = function(path, callback) { fs.readFile(path, function(err, data) { callback(err, data ? data.toString('base64') : null); }); }; module.exports = image;