From 9a1f39b2162eada19ccea28f4cabbf01c44988a6 Mon Sep 17 00:00:00 2001 From: Lokesh Dhakar Date: Sun, 14 Jul 2019 09:32:13 -0700 Subject: [PATCH] build: v2.1.0 --- CONTRIBUTING.md | 2 ++ dist/color-thief.min.js | 6 +++--- package.json | 2 +- src/color-thief.js | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 99e0812..b6c5d11 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,6 +12,8 @@ Run Cypress integration tests in Chrome browser. ## Making a new release +- Merge `dev` into `master` +- Pull down `master` - Update version number in `src/color-thief.js` and `package.json` - Run `npm run build` - Push to Github repo diff --git a/dist/color-thief.min.js b/dist/color-thief.min.js index bbca77b..69f309c 100644 --- a/dist/color-thief.min.js +++ b/dist/color-thief.min.js @@ -1,5 +1,5 @@ /* - * Color Thief v2.0 + * Color Thief v2.1.0 * by Lokesh Dhakar - http://www.lokeshdhakar.com * * Thanks @@ -16,7 +16,7 @@ * * @license */ -var CanvasImage=function(t){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"),document.body.appendChild(this.canvas),this.width=this.canvas.width=t.width,this.height=this.canvas.height=t.height,this.context.drawImage(t,0,0,this.width,this.height)};CanvasImage.prototype.clear=function(){this.context.clearRect(0,0,this.width,this.height)},CanvasImage.prototype.update=function(t){this.context.putImageData(t,0,0)},CanvasImage.prototype.getPixelCount=function(){return this.width*this.height},CanvasImage.prototype.getImageData=function(){return this.context.getImageData(0,0,this.width,this.height)},CanvasImage.prototype.removeCanvas=function(){this.canvas.parentNode.removeChild(this.canvas)};var ColorThief=function(){}; +var CanvasImage=function(t){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"),this.width=this.canvas.width=t.width,this.height=this.canvas.height=t.height,this.context.drawImage(t,0,0,this.width,this.height)};CanvasImage.prototype.getPixelCount=function(){return this.width*this.height},CanvasImage.prototype.getImageData=function(){return this.context.getImageData(0,0,this.width,this.height)};var ColorThief=function(){}; /*! * quantize.js Copyright 2008 Nick Rabinowitz. * Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php @@ -28,4 +28,4 @@ var CanvasImage=function(t){this.canvas=document.createElement("canvas"),this.co * Licensed under the BSD License: http://www.opensource.org/licenses/bsd-license.php * @license */ -if(ColorThief.prototype.getColor=function(t,r){return this.getPalette(t,5,r)[0]},ColorThief.prototype.getPalette=function(t,r,n){(void 0===r||r<2||r>256)&&(r=10),(void 0===n||n<1)&&(n=10);for(var e,o,i,a,s=new CanvasImage(t),u=s.getImageData().data,h=s.getPixelCount(),c=[],f=0;f=125&&(o>250&&i>250&&a>250||c.push([o,i,a]));var v=MMCQ.quantize(c,r),p=v?v.palette():null;return s.removeCanvas(),p},ColorThief.prototype.getColorFromUrl=function(t,r,n){sourceImage=document.createElement("img");var e=this;sourceImage.addEventListener("load",function(){var o=e.getPalette(sourceImage,5,n)[0];r(o,t)}),sourceImage.src=t},ColorThief.prototype.getImageData=function(t,r){xhr=new XMLHttpRequest,xhr.open("GET",t,!0),xhr.responseType="arraybuffer",xhr.onload=function(t){if(200==this.status){uInt8Array=new Uint8Array(this.response),n=uInt8Array.length,binaryString=new Array(n);for(var n=0;nr?1:0},sum:function(t,r){var n={};return t.reduce(r?function(t,e,o){return n.index=o,t+r.call(n,e)}:function(t,r){return t+r},0)},max:function(t,r){return Math.max.apply(null,r?pv.map(t,r):t)}};var MMCQ=function(){var t=5,r=8-t,n=1e3,e=.75;function o(r,n,e){return(r<<2*t)+(n<f/2){for(o=r.copy(),i=r.copy(),a=(n=s-r[u])<=(e=r[h]-s)?Math.min(r[h]-1,~~(s+e/2)):Math.max(r[u],~~(s-1-n/2));!v[a];)a++;for(c=p[a];!c&&v[a-1];)c=p[--a];return o[h]=a,i[u]=o[h]+1,[o,i]}}}return a.prototype={volume:function(t){return this._volume&&!t||(this._volume=(this.r2-this.r1+1)*(this.g2-this.g1+1)*(this.b2-this.b1+1)),this._volume},count:function(t){var r=this.histo;if(!this._count_set||t){var n,e,i,a=0;for(n=this.r1;n<=this.r2;n++)for(e=this.g1;e<=this.g2;e++)for(i=this.b1;i<=this.b2;i++)a+=r[o(n,e,i)]||0;this._count=a,this._count_set=!0}return this._count},copy:function(){return new a(this.r1,this.r2,this.g1,this.g2,this.b1,this.b2,this.histo)},avg:function(r){var n=this.histo;if(!this._avg||r){var e,i,a,s,u=0,h=1<<8-t,c=0,f=0,v=0;for(i=this.r1;i<=this.r2;i++)for(a=this.g1;a<=this.g2;a++)for(s=this.b1;s<=this.b2;s++)u+=e=n[o(i,a,s)]||0,c+=e*(i+.5)*h,f+=e*(a+.5)*h,v+=e*(s+.5)*h;this._avg=u?[~~(c/u),~~(f/u),~~(v/u)]:[~~(h*(this.r1+this.r2+1)/2),~~(h*(this.g1+this.g2+1)/2),~~(h*(this.b1+this.b2+1)/2)]}return this._avg},contains:function(t){var n=t[0]>>r,e=t[1]>>r,o=t[2]>>r;return n>=this.r1&&n<=this.r2&&e>=this.g1&&e<=this.g2&&o>=this.b1&&o<=this.b2}},s.prototype={push:function(t){this.vboxes.push({vbox:t,color:t.avg()})},palette:function(){return this.vboxes.map(function(t){return t.color})},size:function(){return this.vboxes.size()},map:function(t){for(var r=this.vboxes,n=0;n251&&e[1]>251&&e[2]>251&&(t[n].color=[255,255,255])}},{quantize:function(h,c){if(!h.length||c<2||c>256)return!1;var f=function(n){var e,i,a,s,u=new Array(1<<3*t);return n.forEach(function(t){i=t[0]>>r,a=t[1]>>r,s=t[2]>>r,e=o(i,a,s),u[e]=(u[e]||0)+1}),u}(h);f.forEach(function(){});var v=function(t,n){var e,o,i,s=1e6,u=0,h=1e6,c=0,f=1e6,v=0;return t.forEach(function(t){e=t[0]>>r,o=t[1]>>r,i=t[2]>>r,eu&&(u=e),oc&&(c=o),iv&&(v=i)}),new a(s,u,h,c,f,v,n)}(h,f),p=new i(function(t,r){return pv.naturalOrder(t.count(),r.count())});function g(t,r){for(var e,o=1,i=0;i=r)return;if(i++>n)return}else t.push(e),i++}p.push(v),g(p,e*c);for(var l=new i(function(t,r){return pv.naturalOrder(t.count()*t.volume(),r.count()*r.volume())});p.size();)l.push(p.pop());g(l,c-l.size());for(var m=new s;l.size();)m.push(l.pop());return m}}}(); \ No newline at end of file +if(ColorThief.prototype.getColor=function(t,r){return this.getPalette(t,5,r)[0]},ColorThief.prototype.getPalette=function(t,r,n){(void 0===r||r<2||r>256)&&(r=10),(void 0===n||n<1)&&(n=10);for(var e,o,i,u,s=new CanvasImage(t),a=s.getImageData().data,h=s.getPixelCount(),c=[],f=0;f=125&&(o>250&&i>250&&u>250||c.push([o,i,u]));var v=MMCQ.quantize(c,r);return v?v.palette():null},ColorThief.prototype.getColorFromUrl=function(t,r,n){let e=document.createElement("img");var o=this;e.addEventListener("load",function(){var i=o.getPalette(e,5,n)[0];r(i,t)}),e.src=t},ColorThief.prototype.getImageData=function(t,r){let n=new XMLHttpRequest;n.open("GET",t,!0),n.responseType="arraybuffer",n.onload=function(){if(200==this.status){let n=new Uint8Array(this.response);t=n.length;let e=new Array(t);for(var t=0;tr?1:0},sum:function(t,r){var n={};return t.reduce(r?function(t,e,o){return n.index=o,t+r.call(n,e)}:function(t,r){return t+r},0)},max:function(t,r){return Math.max.apply(null,r?pv.map(t,r):t)}};var MMCQ=function(){var t=5,r=8-t,n=1e3,e=.75;function o(r,n,e){return(r<<2*t)+(n<f/2){for(o=r.copy(),i=r.copy(),u=(n=s-r[a])<=(e=r[h]-s)?Math.min(r[h]-1,~~(s+e/2)):Math.max(r[a],~~(s-1-n/2));!v[u];)u++;for(c=p[u];!c&&v[u-1];)c=p[--u];return o[h]=u,i[a]=o[h]+1,[o,i]}}}return u.prototype={volume:function(t){return this._volume&&!t||(this._volume=(this.r2-this.r1+1)*(this.g2-this.g1+1)*(this.b2-this.b1+1)),this._volume},count:function(t){var r=this.histo;if(!this._count_set||t){var n,e,i,u=0;for(n=this.r1;n<=this.r2;n++)for(e=this.g1;e<=this.g2;e++)for(i=this.b1;i<=this.b2;i++)u+=r[o(n,e,i)]||0;this._count=u,this._count_set=!0}return this._count},copy:function(){return new u(this.r1,this.r2,this.g1,this.g2,this.b1,this.b2,this.histo)},avg:function(r){var n=this.histo;if(!this._avg||r){var e,i,u,s,a=0,h=1<<8-t,c=0,f=0,v=0;for(i=this.r1;i<=this.r2;i++)for(u=this.g1;u<=this.g2;u++)for(s=this.b1;s<=this.b2;s++)a+=e=n[o(i,u,s)]||0,c+=e*(i+.5)*h,f+=e*(u+.5)*h,v+=e*(s+.5)*h;this._avg=a?[~~(c/a),~~(f/a),~~(v/a)]:[~~(h*(this.r1+this.r2+1)/2),~~(h*(this.g1+this.g2+1)/2),~~(h*(this.b1+this.b2+1)/2)]}return this._avg},contains:function(t){var n=t[0]>>r,e=t[1]>>r,o=t[2]>>r;return n>=this.r1&&n<=this.r2&&e>=this.g1&&e<=this.g2&&o>=this.b1&&o<=this.b2}},s.prototype={push:function(t){this.vboxes.push({vbox:t,color:t.avg()})},palette:function(){return this.vboxes.map(function(t){return t.color})},size:function(){return this.vboxes.size()},map:function(t){for(var r=this.vboxes,n=0;n251&&e[1]>251&&e[2]>251&&(t[n].color=[255,255,255])}},{quantize:function(h,c){if(!h.length||c<2||c>256)return!1;var f=function(n){var e,i,u,s,a=new Array(1<<3*t);return n.forEach(function(t){i=t[0]>>r,u=t[1]>>r,s=t[2]>>r,e=o(i,u,s),a[e]=(a[e]||0)+1}),a}(h);f.forEach(function(){});var v=function(t,n){var e,o,i,s=1e6,a=0,h=1e6,c=0,f=1e6,v=0;return t.forEach(function(t){e=t[0]>>r,o=t[1]>>r,i=t[2]>>r,ea&&(a=e),oc&&(c=o),iv&&(v=i)}),new u(s,a,h,c,f,v,n)}(h,f),p=new i(function(t,r){return pv.naturalOrder(t.count(),r.count())});function l(t,r){for(var e,o=1,i=0;i=r)return;if(i++>n)return}else t.push(e),i++}p.push(v),l(p,e*c);for(var g=new i(function(t,r){return pv.naturalOrder(t.count()*t.volume(),r.count()*r.volume())});p.size();)g.push(p.pop());l(g,c-g.size());for(var m=new s;g.size();)m.push(g.pop());return m}}}(); \ No newline at end of file diff --git a/package.json b/package.json index 6614a62..f9aca57 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "color-thief", - "version": "2.0.1", + "version": "2.1.0", "author": { "name": "Lokesh Dhakar", "email": "lokesh.dhakar@gmail.com", diff --git a/src/color-thief.js b/src/color-thief.js index d08282a..ebbd63e 100644 --- a/src/color-thief.js +++ b/src/color-thief.js @@ -1,5 +1,5 @@ /* - * Color Thief v2.0 + * Color Thief v2.1.0 * by Lokesh Dhakar - http://www.lokeshdhakar.com * * Thanks