aboutsummaryrefslogtreecommitdiff
path: root/node_modules/ninja-components/effect/sepia-effect.js
blob: 779074b79ddde63cdcd4e803ed97eec3fe581277 (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.SepiaEffect = 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 + 10; // red
                pixels[i+1] = average; // green
                pixels[i+2] = average; // blue
            }
        }
    }

});