|
@@ -25,8 +25,6 @@ var screenshotHandler = function() {
|
|
|
return that.resizeImage(image, width);
|
|
|
})
|
|
|
|
|
|
- .then(this.addWhiteBackground)
|
|
|
-
|
|
|
.then(this.toBuffer);
|
|
|
};
|
|
|
|
|
@@ -76,44 +74,11 @@ var screenshotHandler = function() {
|
|
|
return deferred.promise;
|
|
|
};
|
|
|
|
|
|
- // If the page doesn't set a bg color, the default PhantomJS one is transparent
|
|
|
- // When transforming PNG to JPG, transparent pixels become black.
|
|
|
- // This is why we need to add a transparent background.
|
|
|
- this.addWhiteBackground = function(image) {
|
|
|
- var deferred = Q.defer();
|
|
|
-
|
|
|
- // Create a canvas with the same dimensions as your image:
|
|
|
- new Jimp(image.bitmap.width, image.bitmap.height, 0xFFFFFF, function(err, canvas){
|
|
|
- if (err) {
|
|
|
- debug('Could not create a white canvas');
|
|
|
- debug(err);
|
|
|
-
|
|
|
- deferred.reject(err);
|
|
|
- } else {
|
|
|
- // Paste original image on top of the canvas
|
|
|
- canvas.composite(image, 0, 0, function(err, image){
|
|
|
- if (err) {
|
|
|
- debug('Could not paste image on the white canvas');
|
|
|
- debug(err);
|
|
|
-
|
|
|
- deferred.reject(err);
|
|
|
- } else {
|
|
|
- // Now image has a white background...
|
|
|
- debug('White background correctly added');
|
|
|
- deferred.resolve(image);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- return deferred.promise;
|
|
|
- };
|
|
|
-
|
|
|
|
|
|
this.toBuffer = function(image) {
|
|
|
var deferred = Q.defer();
|
|
|
|
|
|
- image.quality(90).getBuffer(Jimp.MIME_JPEG, function(err, buffer){
|
|
|
+ image.quality(85).getBuffer(Jimp.MIME_JPEG, function(err, buffer){
|
|
|
if (err) {
|
|
|
debug('Could not save image to buffer');
|
|
|
debug(err);
|