From d515f4c34459a5b2708522a1bd9458f76dd192c6 Mon Sep 17 00:00:00 2001 From: Lokesh Dhakar Date: Thu, 17 Apr 2014 11:42:15 -0700 Subject: [PATCH] Dropped sourcemap from repo --- Gruntfile.js | 2 +- HISTORY.md | 3 ++- dist/color-thief.min.js | 3 +-- dist/color-thief.min.map | 1 - 4 files changed, 4 insertions(+), 5 deletions(-) delete mode 100644 dist/color-thief.min.map diff --git a/Gruntfile.js b/Gruntfile.js index 100a6f2..0e30ab5 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -40,7 +40,7 @@ module.exports = function(grunt) { uglify: { options: { preserveComments: 'some', - sourceMap: true + sourceMap: false }, dist: { files: { diff --git a/HISTORY.md b/HISTORY.md index 39ffc2b..975b9d0 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -4,7 +4,8 @@ v2.0.0 - Strip out jQuery requirement - Credit those who helped with edits - Nathan Spady for drag and drop support. -#### Examples +**Demo page and example changes** + - Don't show yellow circle buttons till images have loaded - Add FB and Twitter buttons - Add drag n drop support diff --git a/dist/color-thief.min.js b/dist/color-thief.min.js index a847fc0..bb88218 100644 --- a/dist/color-thief.min.js +++ b/dist/color-thief.min.js @@ -23,5 +23,4 @@ var CanvasImage=function(a){this.canvas=document.createElement("canvas"),this.co * Copyright 2010 Stanford Visualization Group * Licensed under the BSD License: http://www.opensource.org/licenses/bsd-license.php */ -if(ColorThief.prototype.getColor=function(a,b){var c=this.getPalette(a,5,b),d=c[0];return d},ColorThief.prototype.getPalette=function(a,b,c){"undefined"==typeof b&&(b=10),"undefined"==typeof c&&(c=10);for(var d,e,f,g,h,i=new CanvasImage(a),j=i.getImageData(),k=j.data,l=i.getPixelCount(),m=[],n=0;l>n;n+=c)d=4*n,e=k[d+0],f=k[d+1],g=k[d+2],h=k[d+3],h>=125&&(e>250&&f>250&&g>250||m.push([e,f,g]));var o=MMCQ.quantize(m,b),p=o.palette();return i.removeCanvas(),p},!pv)var pv={map:function(a,b){var c={};return b?a.map(function(a,d){return c.index=d,b.call(c,a)}):a.slice()},naturalOrder:function(a,b){return b>a?-1:a>b?1:0},sum:function(a,b){var c={};return a.reduce(b?function(a,d,e){return c.index=e,a+b.call(c,d)}:function(a,b){return a+b},0)},max:function(a,b){return Math.max.apply(null,b?pv.map(a,b):a)}};var MMCQ=function(){function a(a,b,c){return(a<<2*i)+(b<>j,e=b[1]>>j,f=b[2]>>j,c=a(d,e,f),h[c]=(h[c]||0)+1}),h}function f(a,b){var d,e,f,g=1e6,h=0,i=1e6,k=0,l=1e6,m=0;return a.forEach(function(a){d=a[0]>>j,e=a[1]>>j,f=a[2]>>j,g>d?g=d:d>h&&(h=d),i>e?i=e:e>k&&(k=e),l>f?l=f:f>m&&(m=f)}),new c(g,h,i,k,l,m,b)}function g(b,c){function d(a){var b,d,e,f,g,h=a+"1",j=a+"2",k=0;for(i=c[h];i<=c[j];i++)if(o[i]>n/2){for(e=c.copy(),f=c.copy(),b=i-c[h],d=c[j]-i,g=d>=b?Math.min(c[j]-1,~~(i+d/2)):Math.max(c[h],~~(i-1-b/2));!o[g];)g++;for(k=p[g];!k&&o[g-1];)k=p[--g];return e[j]=g,f[h]=e[j]+1,[e,f]}}if(c.count()){var e=c.r2-c.r1+1,f=c.g2-c.g1+1,g=c.b2-c.b1+1,h=pv.max([e,f,g]);if(1==c.count())return[c.copy()];var i,j,k,l,m,n=0,o=[],p=[];if(h==e)for(i=c.r1;i<=c.r2;i++){for(l=0,j=c.g1;j<=c.g2;j++)for(k=c.b1;k<=c.b2;k++)m=a(i,j,k),l+=b[m]||0;n+=l,o[i]=n}else if(h==f)for(i=c.g1;i<=c.g2;i++){for(l=0,j=c.r1;j<=c.r2;j++)for(k=c.b1;k<=c.b2;k++)m=a(j,i,k),l+=b[m]||0;n+=l,o[i]=n}else for(i=c.b1;i<=c.b2;i++){for(l=0,j=c.r1;j<=c.r2;j++)for(k=c.g1;k<=c.g2;k++)m=a(j,k,i),l+=b[m]||0;n+=l,o[i]=n}return o.forEach(function(a,b){p[b]=n-a}),d(h==e?"r":h==f?"g":"b")}}function h(a,c){function h(a,b){for(var c,d=1,e=0;k>e;)if(c=a.pop(),c.count()){var f=g(i,c),h=f[0],j=f[1];if(!h)return;if(a.push(h),j&&(a.push(j),d++),d>=b)return;if(e++>k)return}else a.push(c),e++}if(!a.length||2>c||c>256)return!1;var i=e(a),j=0;i.forEach(function(){j++});var m=f(a,i),n=new b(function(a,b){return pv.naturalOrder(a.count(),b.count())});n.push(m),h(n,l*c);for(var o=new b(function(a,b){return pv.naturalOrder(a.count()*a.volume(),b.count()*b.volume())});n.size();)o.push(n.pop());h(o,c-o.size());for(var p=new d;o.size();)p.push(o.pop());return p}var i=5,j=8-i,k=1e3,l=.75;return c.prototype={volume:function(a){var b=this;return(!b._volume||a)&&(b._volume=(b.r2-b.r1+1)*(b.g2-b.g1+1)*(b.b2-b.b1+1)),b._volume},count:function(b){var c=this,d=c.histo;if(!c._count_set||b){var e,f,g,h=0;for(e=c.r1;e<=c.r2;e++)for(f=c.g1;f<=c.g2;f++)for(g=c.b1;g<=c.b2;g++)index=a(e,f,g),h+=d[index]||0;c._count=h,c._count_set=!0}return c._count},copy:function(){var a=this;return new c(a.r1,a.r2,a.g1,a.g2,a.b1,a.b2,a.histo)},avg:function(b){var c=this,d=c.histo;if(!c._avg||b){var e,f,g,h,j,k=0,l=1<<8-i,m=0,n=0,o=0;for(f=c.r1;f<=c.r2;f++)for(g=c.g1;g<=c.g2;g++)for(h=c.b1;h<=c.b2;h++)j=a(f,g,h),e=d[j]||0,k+=e,m+=e*(f+.5)*l,n+=e*(g+.5)*l,o+=e*(h+.5)*l;c._avg=k?[~~(m/k),~~(n/k),~~(o/k)]:[~~(l*(c.r1+c.r2+1)/2),~~(l*(c.g1+c.g2+1)/2),~~(l*(c.b1+c.b2+1)/2)]}return c._avg},contains:function(a){var b=this,c=a[0]>>j;return gval=a[1]>>j,bval=a[2]>>j,c>=b.r1&&c<=b.r2&&gval>=b.g1&&gval<=b.g2&&bval>=b.b1&&bval<=b.b2}},d.prototype={push:function(a){this.vboxes.push({vbox:a,color:a.avg()})},palette:function(){return this.vboxes.map(function(a){return a.color})},size:function(){return this.vboxes.size()},map:function(a){for(var b=this.vboxes,c=0;cc||void 0===b)&&(b=c,d=e.peek(f).color);return d},forcebw:function(){var a=this.vboxes;a.sort(function(a,b){return pv.naturalOrder(pv.sum(a.color),pv.sum(b.color))});var b=a[0].color;b[0]<5&&b[1]<5&&b[2]<5&&(a[0].color=[0,0,0]);var c=a.length-1,d=a[c].color;d[0]>251&&d[1]>251&&d[2]>251&&(a[c].color=[255,255,255])}},{quantize:h}}(); -//# sourceMappingURL=color-thief.min.map \ No newline at end of file +if(ColorThief.prototype.getColor=function(a,b){var c=this.getPalette(a,5,b),d=c[0];return d},ColorThief.prototype.getPalette=function(a,b,c){"undefined"==typeof b&&(b=10),"undefined"==typeof c&&(c=10);for(var d,e,f,g,h,i=new CanvasImage(a),j=i.getImageData(),k=j.data,l=i.getPixelCount(),m=[],n=0;l>n;n+=c)d=4*n,e=k[d+0],f=k[d+1],g=k[d+2],h=k[d+3],h>=125&&(e>250&&f>250&&g>250||m.push([e,f,g]));var o=MMCQ.quantize(m,b),p=o.palette();return i.removeCanvas(),p},!pv)var pv={map:function(a,b){var c={};return b?a.map(function(a,d){return c.index=d,b.call(c,a)}):a.slice()},naturalOrder:function(a,b){return b>a?-1:a>b?1:0},sum:function(a,b){var c={};return a.reduce(b?function(a,d,e){return c.index=e,a+b.call(c,d)}:function(a,b){return a+b},0)},max:function(a,b){return Math.max.apply(null,b?pv.map(a,b):a)}};var MMCQ=function(){function a(a,b,c){return(a<<2*i)+(b<>j,e=b[1]>>j,f=b[2]>>j,c=a(d,e,f),h[c]=(h[c]||0)+1}),h}function f(a,b){var d,e,f,g=1e6,h=0,i=1e6,k=0,l=1e6,m=0;return a.forEach(function(a){d=a[0]>>j,e=a[1]>>j,f=a[2]>>j,g>d?g=d:d>h&&(h=d),i>e?i=e:e>k&&(k=e),l>f?l=f:f>m&&(m=f)}),new c(g,h,i,k,l,m,b)}function g(b,c){function d(a){var b,d,e,f,g,h=a+"1",j=a+"2",k=0;for(i=c[h];i<=c[j];i++)if(o[i]>n/2){for(e=c.copy(),f=c.copy(),b=i-c[h],d=c[j]-i,g=d>=b?Math.min(c[j]-1,~~(i+d/2)):Math.max(c[h],~~(i-1-b/2));!o[g];)g++;for(k=p[g];!k&&o[g-1];)k=p[--g];return e[j]=g,f[h]=e[j]+1,[e,f]}}if(c.count()){var e=c.r2-c.r1+1,f=c.g2-c.g1+1,g=c.b2-c.b1+1,h=pv.max([e,f,g]);if(1==c.count())return[c.copy()];var i,j,k,l,m,n=0,o=[],p=[];if(h==e)for(i=c.r1;i<=c.r2;i++){for(l=0,j=c.g1;j<=c.g2;j++)for(k=c.b1;k<=c.b2;k++)m=a(i,j,k),l+=b[m]||0;n+=l,o[i]=n}else if(h==f)for(i=c.g1;i<=c.g2;i++){for(l=0,j=c.r1;j<=c.r2;j++)for(k=c.b1;k<=c.b2;k++)m=a(j,i,k),l+=b[m]||0;n+=l,o[i]=n}else for(i=c.b1;i<=c.b2;i++){for(l=0,j=c.r1;j<=c.r2;j++)for(k=c.g1;k<=c.g2;k++)m=a(j,k,i),l+=b[m]||0;n+=l,o[i]=n}return o.forEach(function(a,b){p[b]=n-a}),d(h==e?"r":h==f?"g":"b")}}function h(a,c){function h(a,b){for(var c,d=1,e=0;k>e;)if(c=a.pop(),c.count()){var f=g(i,c),h=f[0],j=f[1];if(!h)return;if(a.push(h),j&&(a.push(j),d++),d>=b)return;if(e++>k)return}else a.push(c),e++}if(!a.length||2>c||c>256)return!1;var i=e(a),j=0;i.forEach(function(){j++});var m=f(a,i),n=new b(function(a,b){return pv.naturalOrder(a.count(),b.count())});n.push(m),h(n,l*c);for(var o=new b(function(a,b){return pv.naturalOrder(a.count()*a.volume(),b.count()*b.volume())});n.size();)o.push(n.pop());h(o,c-o.size());for(var p=new d;o.size();)p.push(o.pop());return p}var i=5,j=8-i,k=1e3,l=.75;return c.prototype={volume:function(a){var b=this;return(!b._volume||a)&&(b._volume=(b.r2-b.r1+1)*(b.g2-b.g1+1)*(b.b2-b.b1+1)),b._volume},count:function(b){var c=this,d=c.histo;if(!c._count_set||b){var e,f,g,h=0;for(e=c.r1;e<=c.r2;e++)for(f=c.g1;f<=c.g2;f++)for(g=c.b1;g<=c.b2;g++)index=a(e,f,g),h+=d[index]||0;c._count=h,c._count_set=!0}return c._count},copy:function(){var a=this;return new c(a.r1,a.r2,a.g1,a.g2,a.b1,a.b2,a.histo)},avg:function(b){var c=this,d=c.histo;if(!c._avg||b){var e,f,g,h,j,k=0,l=1<<8-i,m=0,n=0,o=0;for(f=c.r1;f<=c.r2;f++)for(g=c.g1;g<=c.g2;g++)for(h=c.b1;h<=c.b2;h++)j=a(f,g,h),e=d[j]||0,k+=e,m+=e*(f+.5)*l,n+=e*(g+.5)*l,o+=e*(h+.5)*l;c._avg=k?[~~(m/k),~~(n/k),~~(o/k)]:[~~(l*(c.r1+c.r2+1)/2),~~(l*(c.g1+c.g2+1)/2),~~(l*(c.b1+c.b2+1)/2)]}return c._avg},contains:function(a){var b=this,c=a[0]>>j;return gval=a[1]>>j,bval=a[2]>>j,c>=b.r1&&c<=b.r2&&gval>=b.g1&&gval<=b.g2&&bval>=b.b1&&bval<=b.b2}},d.prototype={push:function(a){this.vboxes.push({vbox:a,color:a.avg()})},palette:function(){return this.vboxes.map(function(a){return a.color})},size:function(){return this.vboxes.size()},map:function(a){for(var b=this.vboxes,c=0;cc||void 0===b)&&(b=c,d=e.peek(f).color);return d},forcebw:function(){var a=this.vboxes;a.sort(function(a,b){return pv.naturalOrder(pv.sum(a.color),pv.sum(b.color))});var b=a[0].color;b[0]<5&&b[1]<5&&b[2]<5&&(a[0].color=[0,0,0]);var c=a.length-1,d=a[c].color;d[0]>251&&d[1]>251&&d[2]>251&&(a[c].color=[255,255,255])}},{quantize:h}}(); \ No newline at end of file diff --git a/dist/color-thief.min.map b/dist/color-thief.min.map deleted file mode 100644 index 5309400..0000000 --- a/dist/color-thief.min.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"color-thief.min.js","sources":["../src/color-thief.js"],"names":["CanvasImage","image","this","canvas","document","createElement","context","getContext","body","appendChild","width","height","drawImage","prototype","clear","clearRect","update","imageData","putImageData","getPixelCount","getImageData","removeCanvas","parentNode","removeChild","ColorThief","getColor","sourceImage","quality","palette","getPalette","dominantColor","colorCount","offset","r","g","b","a","pixels","data","pixelCount","pixelArray","i","push","cmap","MMCQ","quantize","pv","map","array","f","o","d","index","call","slice","naturalOrder","sum","reduce","p","max","Math","apply","getColorIndex","sigbits","PQueue","comparator","sort","contents","sorted","peek","undefined","length","pop","size","debug","VBox","r1","r2","g1","g2","b1","b2","histo","vbox","CMap","vboxes","count","volume","getHisto","rval","gval","bval","histosize","Array","forEach","pixel","rshift","vboxFromPixels","rmin","rmax","gmin","gmax","bmin","bmax","medianCutApply","doCut","color","left","right","vbox1","vbox2","d2","dim1","dim2","count2","partialsum","total","copy","min","lookaheadsum","rw","gw","bw","maxw","j","k","maxcolors","iter","lh","target","ncolors","niters","maxIterations","nColors","pq","fractByPopulations","pq2","force","_volume","_count_set","npix","_count","avg","_avg","hval","histoindex","ntot","mult","rsum","gsum","bsum","contains","vb","nearest","d1","pColor","sqrt","pow","forcebw","lowest","idx","highest"],"mappings":"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"} \ No newline at end of file