Browse Source

removed rounding of values in composeSMaskLuminosity

maskData comes out of maskCtx.getImageData, so is 0..255 clamped, and
the used multiplications will not create fractions needing rounding,
neither would addition.
Fabian Lange 11 years ago
parent
commit
b049119d14
  1. 4
      src/display/canvas.js

4
src/display/canvas.js

@ -639,9 +639,9 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -639,9 +639,9 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
function composeSMaskLuminosity(maskData, layerData) {
var length = maskData.length;
for (var i = 3; i < length; i += 4) {
var y = ((maskData[i - 3] * 77) + // * 0.3 / 255 * 0x10000
var y = (maskData[i - 3] * 77) + // * 0.3 / 255 * 0x10000
(maskData[i - 2] * 152) + // * 0.59 ....
(maskData[i - 1] * 28)) | 0; // * 0.11 ....
(maskData[i - 1] * 28); // * 0.11 ....
layerData[i] = (layerData[i] * y) >> 16;
}
}

Loading…
Cancel
Save