| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 * Pixastic Lib - Desaturation filter - v0.1.1 | |
| 3 * Copyright (c) 2008 Jacob Seidelin, jseidelin@nihilogic.dk, http://blog.nihilo
gic.dk/ | |
| 4 * License: [http://www.pixastic.com/lib/license.txt] (MPL 1.1) | |
| 5 */ | |
| 6 | |
| 7 var Pixastic = {}; | |
| 8 Pixastic.Actions = {}; | |
| 9 Pixastic.Actions.desaturate = { | |
| 10 process : function(params) { | |
| 11 var useAverage = !!(params.options.average && params.options.average !=
"false"); | |
| 12 var data = params.data; | |
| 13 var rect = params.options.rect; | |
| 14 var w = rect.width; | |
| 15 var h = rect.height; | |
| 16 | |
| 17 var p = w*h; | |
| 18 var pix = p*4, pix1, pix2; | |
| 19 | |
| 20 if (useAverage) { | |
| 21 while (p--) | |
| 22 data[pix-=4] = data[pix1=pix+1] = data[pix2=pix+2] = (data[pix]+
data[pix1]+data[pix2])/3 | |
| 23 } else { | |
| 24 while (p--) | |
| 25 data[pix-=4] = data[pix1=pix+1] = data[pix2=pix+2] = (data[pix]*
0.3 + data[pix1]*0.59 + data[pix2]*0.11); | |
| 26 } | |
| 27 return true; | |
| 28 } | |
| 29 } | |
| 30 | |
| 31 var params = { | |
| 32 options: { | |
| 33 rect: { width: width, height: height}, | |
| 34 }, | |
| 35 data: squidImageData | |
| 36 } | |
| 37 | |
| 38 //XXX improve dataset rather than loop | |
| 39 for (var pixcounter = 0; pixcounter < 200; pixcounter++) | |
| 40 Pixastic.Actions.desaturate.process(params); | |
| OLD | NEW |