aboutsummaryrefslogtreecommitdiff
path: root/node_modules/ninja-components/effect/desaturate-effect.js
blob: defa1973a07ed43abf1a67936c4bdbdb4edebdbb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* <copyright>
 This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
 No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
 (c) Copyright 2011 Motorola Mobility, Inc.  All Rights Reserved.
 </copyright> */
var Montage = require("montage").Montage;
var Effect = require("effect/effect").Effect;

exports.DesaturateEffect = Montage.create(Effect, {

    applyEffect: {
        value: function(pixels, pixelCount) {
            var i = 0,
                average;

            for (i = 0; i < pixelCount; i += 4) {
                average = (pixels[i] + pixels[i+1] + pixels[i+2])/ 3;
                pixels[i] = average;
                pixels[i+1] = average;
                pixels[i+2] = average;
            }
        }
    }

});