From e5244fd4c55329a9ab0929963dd8fd8004d16778 Mon Sep 17 00:00:00 2001 From: Gleb Pospelov Date: Tue, 9 Jun 2015 12:21:47 +0300 Subject: [PATCH] =?UTF-8?q?Fix=20=D1=81olor=20calculation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/filters/RGBA.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/filters/RGBA.js b/src/filters/RGBA.js index 8a8a4dcc..700b5960 100644 --- a/src/filters/RGBA.js +++ b/src/filters/RGBA.js @@ -20,14 +20,16 @@ green = this.green(), blue = this.blue(), alpha = this.alpha(), - i, brightness; + i, brightness, ab, iab; for (i = 0; i < nPixels; i += 4) { brightness = (0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2])/255; - data[i] = brightness*red; // r - data[i + 1] = brightness*green; // g - data[i + 2] = brightness*blue; // b - data[i + 3] = brightness*alpha; // alpha + ab = alpha * brightness; + iab = (1 - alpha) * brightness; + + data[i] = red * ab + data[i] * iab; // r + data[i + 1] = green * ab + data[i + 1] * iab; // g + data[i + 2] = blue * ab + data[i + 2] * iab; // b } }; @@ -92,7 +94,7 @@ return 0; } else { - return Math.round(val); + return val; } }); /**