Skip to content

Instantly share code, notes, and snippets.

@snorpey
Created July 13, 2013 10:18
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save snorpey/5990253 to your computer and use it in GitHub Desktop.
get average color of an imagedata object (from an html5 canvas) in javascript
/*global define*/
define(
function()
{
var i;
var len;
var multiplicator = 20;
var count;
var rgba;
function getAverageRGBA( image_data, resolution )
{
multiplicator = parseInt( resolution, 10 ) > 1 ? parseInt( resolution, 10 ) : 10;
len = image_data.data.length;
count = 0;
rgba = [ 0, 0, 0, 0 ];
for ( i = 0; i < len; i += multiplicator * 4 )
{
rgba[0] = rgba[0] + image_data.data[i];
rgba[1] = rgba[1] + image_data.data[i + 1];
rgba[2] = rgba[2] + image_data.data[i + 2];
rgba[3] = rgba[3] + image_data.data[i + 3];
count++;
}
rgba[0] = ~~ ( rgba[0] / count );
rgba[1] = ~~ ( rgba[1] / count );
rgba[2] = ~~ ( rgba[2] / count );
rgba[3] = ~~ ( rgba[3] / count );
return rgba;
}
return getAverageRGBA;
}
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment