mirror of
https://github.com/flozz/StackBlur.git
synced 2026-01-18 14:18:38 +00:00
3 lines
6.5 KiB
JavaScript
3 lines
6.5 KiB
JavaScript
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t=t||self).StackBlur={})}(this,(function(t){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var r=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],n=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function a(t,r,n,a,o){if("string"==typeof t&&(t=document.getElementById(t)),!(t&&"object"===e(t)&&"getContext"in t))throw new TypeError("Expecting canvas with `getContext` method in processCanvasRGB(A) calls!");var i=t.getContext("2d");try{return i.getImageData(r,n,a,o)}catch(t){throw new Error("unable to access image data: "+t)}}function o(t,e,r,n,o,f){if(!(isNaN(f)||f<1)){f|=0;var g=a(t,e,r,n,o);g=i(g,e,r,n,o,f),t.getContext("2d").putImageData(g,e,r)}}function i(t,e,a,o,i,f){for(var g,c=t.data,l=2*f+1,s=o-1,v=i-1,x=f+1,b=x*(x+1)/2,d=new u,y=d,p=1;p<l;p++)y=y.next=new u,p===x&&(g=y);y.next=d;for(var h=null,m=null,w=0,B=0,C=r[f],E=n[f],I=0;I<i;I++){y=d;for(var S=c[B],N=c[B+1],R=c[B+2],D=c[B+3],G=0;G<x;G++)y.r=S,y.g=N,y.b=R,y.a=D,y=y.next;for(var j=0,A=0,W=0,k=0,H=x*S,T=x*N,_=x*R,M=x*D,O=b*S,P=b*N,q=b*R,z=b*D,F=1;F<x;F++){var J=B+((s<F?s:F)<<2),K=c[J],L=c[J+1],Q=c[J+2],U=c[J+3],V=x-F;O+=(y.r=K)*V,P+=(y.g=L)*V,q+=(y.b=Q)*V,z+=(y.a=U)*V,j+=K,A+=L,W+=Q,k+=U,y=y.next}h=d,m=g;for(var X=0;X<o;X++){var Y=z*C>>E;if(c[B+3]=Y,0!==Y){var Z=255/Y;c[B]=(O*C>>E)*Z,c[B+1]=(P*C>>E)*Z,c[B+2]=(q*C>>E)*Z}else c[B]=c[B+1]=c[B+2]=0;O-=H,P-=T,q-=_,z-=M,H-=h.r,T-=h.g,_-=h.b,M-=h.a;var $=X+f+1;$=w+($<s?$:s)<<2,O+=j+=h.r=c[$],P+=A+=h.g=c[$+1],q+=W+=h.b=c[$+2],z+=k+=h.a=c[$+3],h=h.next;var tt=m,et=tt.r,rt=tt.g,nt=tt.b,at=tt.a;H+=et,T+=rt,_+=nt,M+=at,j-=et,A-=rt,W-=nt,k-=at,m=m.next,B+=4}w+=o}for(var ot=0;ot<o;ot++){var it=c[B=ot<<2],ft=c[B+1],gt=c[B+2],ut=c[B+3],ct=x*it,lt=x*ft,st=x*gt,vt=x*ut,xt=b*it,bt=b*ft,dt=b*gt,yt=b*ut;y=d;for(var pt=0;pt<x;pt++)y.r=it,y.g=ft,y.b=gt,y.a=ut,y=y.next;for(var ht=o,mt=0,wt=0,Bt=0,Ct=0,Et=1;Et<=f;Et++){B=ht+ot<<2;var It=x-Et;xt+=(y.r=it=c[B])*It,bt+=(y.g=ft=c[B+1])*It,dt+=(y.b=gt=c[B+2])*It,yt+=(y.a=ut=c[B+3])*It,Ct+=it,mt+=ft,wt+=gt,Bt+=ut,y=y.next,Et<v&&(ht+=o)}B=ot,h=d,m=g;for(var St=0;St<i;St++){var Nt=B<<2;c[Nt+3]=ut=yt*C>>E,ut>0?(ut=255/ut,c[Nt]=(xt*C>>E)*ut,c[Nt+1]=(bt*C>>E)*ut,c[Nt+2]=(dt*C>>E)*ut):c[Nt]=c[Nt+1]=c[Nt+2]=0,xt-=ct,bt-=lt,dt-=st,yt-=vt,ct-=h.r,lt-=h.g,st-=h.b,vt-=h.a,Nt=ot+((Nt=St+x)<v?Nt:v)*o<<2,xt+=Ct+=h.r=c[Nt],bt+=mt+=h.g=c[Nt+1],dt+=wt+=h.b=c[Nt+2],yt+=Bt+=h.a=c[Nt+3],h=h.next,ct+=it=m.r,lt+=ft=m.g,st+=gt=m.b,vt+=ut=m.a,Ct-=it,mt-=ft,wt-=gt,Bt-=ut,m=m.next,B+=o}}return t}function f(t,e,r,n,o,i){if(!(isNaN(i)||i<1)){i|=0;var f=a(t,e,r,n,o);f=g(f,e,r,n,o,i),t.getContext("2d").putImageData(f,e,r)}}function g(t,e,a,o,i,f){for(var g,c=t.data,l=2*f+1,s=o-1,v=i-1,x=f+1,b=x*(x+1)/2,d=new u,y=d,p=1;p<l;p++)y=y.next=new u,p===x&&(g=y);y.next=d;for(var h,m,w=null,B=null,C=r[f],E=n[f],I=0,S=0,N=0;N<i;N++){var R=c[S],D=c[S+1],G=c[S+2],j=x*R,A=x*D,W=x*G,k=b*R,H=b*D,T=b*G;y=d;for(var _=0;_<x;_++)y.r=R,y.g=D,y.b=G,y=y.next;for(var M=0,O=0,P=0,q=1;q<x;q++)h=S+((s<q?s:q)<<2),k+=(y.r=R=c[h])*(m=x-q),H+=(y.g=D=c[h+1])*m,T+=(y.b=G=c[h+2])*m,M+=R,O+=D,P+=G,y=y.next;w=d,B=g;for(var z=0;z<o;z++)c[S]=k*C>>E,c[S+1]=H*C>>E,c[S+2]=T*C>>E,k-=j,H-=A,T-=W,j-=w.r,A-=w.g,W-=w.b,h=I+((h=z+f+1)<s?h:s)<<2,k+=M+=w.r=c[h],H+=O+=w.g=c[h+1],T+=P+=w.b=c[h+2],w=w.next,j+=R=B.r,A+=D=B.g,W+=G=B.b,M-=R,O-=D,P-=G,B=B.next,S+=4;I+=o}for(var F=0;F<o;F++){var J=c[S=F<<2],K=c[S+1],L=c[S+2],Q=x*J,U=x*K,V=x*L,X=b*J,Y=b*K,Z=b*L;y=d;for(var $=0;$<x;$++)y.r=J,y.g=K,y.b=L,y=y.next;for(var tt=0,et=0,rt=0,nt=1,at=o;nt<=f;nt++)S=at+F<<2,X+=(y.r=J=c[S])*(m=x-nt),Y+=(y.g=K=c[S+1])*m,Z+=(y.b=L=c[S+2])*m,tt+=J,et+=K,rt+=L,y=y.next,nt<v&&(at+=o);S=F,w=d,B=g;for(var ot=0;ot<i;ot++)c[h=S<<2]=X*C>>E,c[h+1]=Y*C>>E,c[h+2]=Z*C>>E,X-=Q,Y-=U,Z-=V,Q-=w.r,U-=w.g,V-=w.b,h=F+((h=ot+x)<v?h:v)*o<<2,X+=tt+=w.r=c[h],Y+=et+=w.g=c[h+1],Z+=rt+=w.b=c[h+2],w=w.next,Q+=J=B.r,U+=K=B.g,V+=L=B.b,tt-=J,et-=K,rt-=L,B=B.next,S+=o}return t}var u=function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.r=0,this.g=0,this.b=0,this.a=0,this.next=null};t.BlurStack=u,t.canvasRGB=f,t.canvasRGBA=o,t.image=function(t,e,r,n,a){if("string"==typeof t&&(t=document.getElementById(t)),t&&"naturalWidth"in t){var i=a?"offset":"natural",g=t[i+"Width"],u=t[i+"Height"];if("string"==typeof e&&(e=document.getElementById(e)),e&&"getContext"in e){e.style.width=g+"px",e.style.height=u+"px",e.width=g,e.height=u;var c=e.getContext("2d");c.clearRect(0,0,g,u),c.drawImage(t,0,0,t.naturalWidth,t.naturalHeight,0,0,g,u),isNaN(r)||r<1||(n?o(e,0,0,g,u,r):f(e,0,0,g,u,r))}}},t.imageDataRGB=g,t.imageDataRGBA=i,Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
//# sourceMappingURL=stackblur.min.js.map
|