added plugin hooks so that imagemagick can still be called, as a plugin, for image manipulation tasks, falling back to using lwip

This commit is contained in:
Julian Lam
2015-06-04 12:32:39 -04:00
parent 88dd8b1d4d
commit e523ef7c17
2 changed files with 30 additions and 13 deletions

View File

@@ -1,11 +1,22 @@
'use strict';
var fs = require('fs'),
lwip = require('lwip');
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)
@@ -14,18 +25,24 @@ image.resizeImage = function(path, extension, width, height, callback) {
callback(err)
})
});
}
};
image.convertImageToPng = function(path, extension, callback) {
if(extension !== '.png') {
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)
});
} else {
callback();
}
};

View File

@@ -41,7 +41,7 @@ module.exports = function(User) {
},
function(next) {
if (convertToPNG) {
image.convertImageToPng(picture.path, extension, next);
image.normalise(picture.path, extension, next);
} else {
next();
}