2 * Pixastic Lib - Desaturation filter - v0.1.0
3 * Copyright (c) 2008 Jacob Seidelin, jseidelin@nihilogic.dk, http://blog.nihilogic.dk/
4 * MIT License [http://www.opensource.org/licenses/mit-license.php]
7 Pixastic.Actions.desaturate = {
9 process : function(params) {
10 var useAverage = !!params.options.average;
12 if (Pixastic.Client.hasCanvasImageData()) {
13 var data = Pixastic.prepareData(params);
14 var rect = params.options.rect;
20 var offsetY = (y-1)*w4;
23 var offset = offsetY + (x-1)*4;
24 var brightness = useAverage ?
25 (data[offset]+data[offset+1]+data[offset+2])/3
26 : (data[offset]*0.3 + data[offset+1]*0.59 + data[offset+2]*0.11);
27 data[offset] = data[offset+1] = data[offset+2] = brightness;
31 } else if (Pixastic.Client.isIE()) {
32 params.image.style.filter += " gray";
36 checkSupport : function() {
37 return (Pixastic.Client.hasCanvasImageData() || Pixastic.Client.isIE());