src/main/webapp/public/js/jcanvas.min.js
(完整代码) 15KB/*
jCanvas v5.5
Copyright 2012, Caleb Evans
Licensed under the MIT license
*/
(function(b,O,Q,N,aa,v,E,a,w){function x(){}function B(d){d?u(R,d):B.prefs=R=x.prototype=u({},K);return this}function C(d,c){d.fillStyle=c.fillStyle;d.strokeStyle=c.strokeStyle;d.lineWidth=c.strokeWidth;c.rounded?(d.lineCap="round",d.lineJoin="round"):(d.lineCap=c.strokeCap,d.lineJoin=c.strokeJoin,d.miterLimit=c.miterLimit);d.shadowOffsetX=c.shadowX;d.shadowOffsetY=c.shadowY;d.shadowBlur=c.shadowBlur;d.shadowColor=c.shadowColor;d.globalAlpha=c.opacity;d.globalCompositeOperation=c.compositing}function s(d){return d&&
d.getContext?d.getContext("2d"):a}function H(d,c){c.mask&&(c.autosave&&d.save(),d.clip());c.closed&&d.closePath();d.fill();"transparent"!==c.fillStyle&&(d.shadowColor="transparent");d.stroke();c.closed||d.closePath()}function S(d,c){if(!c.translateX&&!c.translateY&&(c.x||c.y))c.translateX=c.x,c.translateY=c.y;c.translate&&(c.translateX=c.translateY=c.translate);d.translate(c.translateX,c.translateY)}function T(d,c){1!==c.scale&&(c.scaleX=c.scaleY=c.scale);d.translate(c.x,c.y);d.scale(c.scaleX,c.scaleY);
d.translate(-c.x,-c.y)}function U(d,c){c.toRad=c.inDegrees?z/180:1;c.rotate=c.rotate||c.angle;d.translate(c.x,c.y);d.rotate(c.rotate*c.toRad);d.translate(-c.x,-c.y)}function G(d,c,j,b,a){j.toRad=j.inDegrees?z/180:1;c.save();a=a||b;!d&&!j.fromCenter&&(j.x+=b/2,j.y+=a/2);(j.rotate||j.angle)&&U(c,j);(1!==j.scale||1!==j.scaleX||1!==j.scaleY)&&T(c,j);(j.translate||j.translateX||j.translateY)&&S(c,j)}function V(d,c,j){j&&j.visible&&(j.method===b.fn.draw?j.fn.call(d[0],c):j.method&&j.method.call(d,j))}function D(d,
c,j){var a,A,p,m="function"===typeof c,c=c||{};if(c.layer&&!c._layer){a=b(d);A=a.getLayers();m&&(c={method:b.fn.draw,fn:c,name:c.name,group:c.group,visible:c.visible});c=u(new x,c);if(!m)for(p in c.method=b.fn[c.method]||j,B.events)if(B.events.hasOwnProperty(p)&&c[p]){if(!b.data(d,"jCanvas-"+p))B.events[p](a);c._event=v}c.layer=v;c._layer=v;c.index===w&&(c.index=A.length);A.splice(c.index,0,c)}}function W(d){var c;for(c=0;c<I.length;c+=1)d[I[c]]=d["_"+I[c]]}function X(d){var c;for(c=0;c<I.length;c+=
1)d["_"+I[c]]=d[I[c]]}function Y(d){var c,j,a=[],A=1;d.match(/^#?[a-z0-9]+$/i)&&(j=O.head,c=j.style.color,j.style.color=d,d=b.css(j,"color"),j.style.color=c);d.match(/^rgb/i)&&(a=d.match(/[0-9]+/gi),d.match(/%/gi)&&(A=2.55),a[0]*=A,a[1]*=A,a[2]*=A);return a}function ca(d){var c;"object"!==typeof d.start&&(d.start=Y(d.start),d.end=Y(d.end));d.now=[];for(c=0;3>c;c+=1)d.now[c]=L(d.start[c]+(d.end[c]-d.start[c])*d.pos);d.now="rgb("+d.now.join(",")+")";d.elem.style?d.elem.style[d.prop]=d.now:d.elem[d.prop]=
d.now}function Z(d){var c=b.data(d,"eventCache");c||(c=b.data(d,"eventCache",{x:[],y:[]}));return c}function J(d){B.events[d]=function(c){var j="mouseover"===d||"mouseout"===d?"mousemove":d,a=Z(c[0]);c.bind(j+".jCanvas",function(d){a.x[1]=a.x[0];a.y[1]=a.y[0];a.x[0]=d.offsetX;a.y[0]=d.offsetY;a.type=j;c.drawLayers(v)});b.data(c[0],"jCanvas-"+d,v)}}function F(d,c,j){var a=b.data(d,"eventCache"),A,p,m;A=j[a.type];p=c.isPointInPath(a.x[0],a.y[0]);m=c.isPointInPath(a.x[1],a.y[1]);j.mouseX=a.x[0];j.mouseY=
a.y[0];if(j.mouseover||j.mouseout)p&&!m&&!j._hovered&&!j._fired?(j._fired=v,j._hovered=v,j.mouseover&&(j.mouseover.call(d,j),C(c,j))):!p&&(j._hovered&&!j._fired)&&(j._fired=v,j._hovered=E,j.mouseout&&(j.mouseout.call(d,j),C(c,j)));A&&(p&&!j._fired)&&(A.call(d,j),C(c,j),j._fired=v)}var K,R,u=b.extend,L=N.round,z=N.PI,$=N.sin,P=N.cos,da=b.event.fix,M={},I;b.fn.jCanvas=B;B.version="5.5";B.events={};K={angle:0,align:"center",autosave:v,baseline:"middle",ccw:E,closed:E,compositing:"source-over",cornerRadius:0,
cropFromCenter:v,each:a,end:360,fillStyle:"transparent",font:"12pt sans-serif",fromCenter:v,height:a,inDegrees:v,load:a,mask:E,miterLimit:10,opacity:1,projection:0,r1:a,r2:a,radius:0,repeat:"repeat",rotate:0,rounded:E,scale:1,scaleX:1,scaleY:1,shadowBlur:0,shadowColor:"transparent",shadowX:0,shadowY:0,sHeight:a,sides:3,source:"",start:0,strokeCap:"butt",strokeJoin:"miter",strokeStyle:"transparent",strokeWidth:1,sWidth:a,sx:a,sy:a,text:"",translate:0,translateX:0,translateY:0,visible:v,width:a,x:0,
y:0};B();B.extend=function(d){K=u(K,d.props);B();d.name&&(b.fn[d.name]=function(c){var j,a,b=u(new x,c);for(j=0;j<this.length;j+=1)if(c=this[j],a=s(c))C(a,b),d.fn.call(c,a,b);return this});return b.fn[d.name]};b.fn.loadCanvas=function(){return s(this[0])};b.fn.draw=function(d){var c,j;d&&!d.fn&&(d={fn:d});u(new x,d);for(c=0;c<this.length;c+=1)(j=s(this[c]))&&d.fn.call(this[c],j);return this};b.fn.clearCanvas=function(d){for(var c,j=u(new x,d),d=0;d<this.length;d+=1)if(c=s(this[d]))G(d,c,j,j.width,
j.height),!j.x&&!j.y&&!j.width&&!j.height?c.clearRect(0,0,this[d].width,this[d].height):c.clearRect(j.x-j.width/2,j.y-j.height/2,j.width,j.height);return this};b.fn.saveCanvas=function(){var d,c;for(d=0;d<this.length;d+=1)(c=s(this[d]))&&c.save();return this};b.fn.restoreCanvas=function(){var d,c;for(d=0;d<this.length;d+=1)(c=s(this[d]))&&c.restore();return this};b.fn.translateCanvas=function(d){for(var c,j=u(new x,d),d=0;d<this.length;d+=1)if(c=s(this[d]))j.autosave&&c.save(),S(c,j);return this};
b.fn.scaleCanvas=function(d){for(var c,j=u(new x,d),d=0;d<this.length;d+=1)if(c=s(this[d]))j.autosave&&c.save(),T(c,j);return this};b.fn.rotateCanvas=function(d){for(var c,j=u(new x,d),d=0;d<this.length;d+=1)if(c=s(this[d]))j.autosave&&c.save(),U(c,j);return this};b.fn.drawRect=function c(j){var a,b,p=u(new x,j),m,n,o,r,k;for(a=0;a<this.length;a+=1)if(b=s(this[a]))D(this[a],j,c),C(b,p),G(a,b,p,p.width,p.height),b.beginPath(),m=p.x-p.width/2,n=p.y-p.height/2,(k=p.cornerRadius)?(p.closed=v,o=p.x+p.width/
2,r=p.y+p.height/2,0>o-m-2*k&&(k=(o-m)/2),0>r-n-2*k&&(k=(r-n)/2),b.moveTo(m+k,n),b.lineTo(o-k,n),b.arc(o-k,n+k,k,3*z/2,2*z,E),b.lineTo(o,r-k),b.arc(o-k,r-k,k,0,z/2,E),b.lineTo(m+k,r),b.arc(m+k,r-k,k,z/2,z,E),b.lineTo(m,n+k),b.arc(m+k,n+k,k,z,3*z/2,E)):b.rect(m,n,p.width,p.height),b.restore(),p._event&&F(this[a],b,j),H(b,p);return this};b.fn.drawArc=function j(a){var b,p,m=u(new x,a);!m.inDegrees&&360===m.end&&(m.end=2*z);for(b=0;b<this.length;b+=1)if(p=s(this[b]))D(this[b],a,j),C(p,m),G(b,p,m,2*m.radius),
p.beginPath(),p.arc(m.x,m.y,m.radius,m.start*m.toRad-z/2,m.end*m.toRad-z/2,m.ccw),p.restore(),m._event&&F(this[b],p,a),H(p,m);return this};b.fn.drawEllipse=function ba(b){var a,m,n=u(new x,b),o=4*n.width/3,r=n.height;for(a=0;a<this.length;a+=1)if(m=s(this[a]))D(this[a],b,ba),C(m,n),G(a,m,n,n.width,n.height),m.beginPath(),m.moveTo(n.x,n.y-r/2),m.bezierCurveTo(n.x-o/2,n.y-r/2,n.x-o/2,n.y+r/2,n.x,n.y+r/2),m.bezierCurveTo(n.x+o/2,n.y+r/2,n.x+o/2,n.y-r/2,n.x,n.y-r/2),m.restore(),n._event&&F(this[a],m,
b),H(m,n);return this};b.fn.drawPolygon=function A(a){var b,n,o=u(new x,a),r=2*z/o.sides,k=z/o.sides,e=k+z/2,h=o.radius*P(r/2),i,l,g;o.closed=v;for(b=0;b<this.length;b+=1)if(n=s(this[b])){D(this[b],a,A);C(n,o);G(b,n,o,2*o.radius);n.beginPath();for(g=0;g<o.sides;g+=1)i=o.x+L(o.radius*P(e)),l=o.y+L(o.radius*$(e)),n.lineTo(i,l),o.projection&&(i=o.x+L((h+h*o.projection)*P(e+k)),l=o.y+L((h+h*o.projection)*$(e+k)),n.lineTo(i,l)),e+=r;n.restore();o._event&&F(this[b],n,a);H(n,o)}return this};b.fn.drawLine=
function p(b){var a,o,r=u(new x,b),k,e,h;for(a=0;a<this.length;a+=1)if(o=s(this[a])){D(this[a],b,p);C(o,r);k=1;for(o.beginPath();v;)if(e=r["x"+k],h=r["y"+k],e!==w&&h!==w)o.lineTo(e,h),k+=1;else break;r._event&&F(this[a],o,b);H(o,r)}return this};b.fn.drawQuad=function m(a){var b,r,k=u(new x,a),e,h,i,l,g;for(b=0;b<this.length;b+=1)if(r=s(this[b])){D(this[b],a,m);C(r,k);e=2;r.beginPath();for(r.moveTo(k.x1,k.y1);v;)if(h=k["x"+e],i=k["y"+e],l=k["cx"+(e-1)],g=k["cy"+(e-1)],h!==w&&i!==w&&l!==w&&g!==w)r.quadraticCurveTo(l,
g,h,i),e+=1;else break;k._event&&F(this[b],r,a);H(r,k)}return this};b.fn.drawBezier=function n(b){var a,k,e=u(new x,b),h,i,l,g,f,q,t,y;for(a=0;a<this.length;a+=1)if(k=s(this[a])){D(this[a],b,n);C(k,e);h=2;i=1;k.beginPath();for(k.moveTo(e.x1,e.y1);v;)if(l=e["x"+h],g=e["y"+h],f=e["cx"+i],q=e["cy"+i],t=e["cx"+(i+1)],y=e["cy"+(i+1)],l!==w&&g!==w&&f!==w&&q!==w&&t!==w&&y!==w)k.bezierCurveTo(f,q,t,y,l,g),h+=1,i+=2;else break;e._event&&F(this[a],k,b);H(k,e)}return this};b.fn.drawText=function o(a){var k,
e,h=u(new x,a);for(k=0;k<this.length;k+=1)if(b(this[k]),e=s(this[k])){D(this[k],a,o);C(e,h);e.textBaseline=h.baseline;e.textAlign=h.align;e.font=h.font;var i=this[k],l=e,g=h,f=void 0,q=void 0,t=/\b(\d*\.?\d*)\w\w\b/gi;if(M.text===g.text&&M.font===g.font)g.width=M.width,g.height=M.height;else{g.width=l.measureText(g.text).width;f=i.style.fontSize;if(q=g.font.match(t))i.style.fontSize=g.font.match(t)[0];g.height=aa(b.css(i,"fontSize"));i.style.fontSize=f}G(k,e,h,h.width,h.height);e.fillText(h.text,
h.x,h.y);"transparent"!==h.fillStyle&&(e.shadowColor="transparent");e.strokeText(h.text,h.x,h.y);h._event?(e.beginPath(),e.rect(h.x-h.width/2,h.y-h.height/2,h.width,h.height),e.restore(),F(this[k],e,a),e.closePath()):e.restore()}M=h;return this};b.fn.drawImage=function r(k){function e(e,g,i){return function(){g||((y=q.width/q.height,f.width===a&&f.sWidth===a&&(k.width=f.width=f.sWidth=q.width),f.height===a&&f.sHeight===a&&(k.height=f.height=f.sHeight=q.height),f.width===a&&f.sWidth!==a&&(f.width=
f.sWidth),f.height===a&&f.sHeight!==a&&(f.height=f.sHeight),f.sWidth===a&&f.width!==a&&(k.sWidth=f.sWidth=q.width),f.sHeight===a&&f.height!==a&&(k.sHeight=f.sHeight=q.height),f.sx===a&&(f.sx=f.cropFromCenter?q.width/2:0),f.sy===a&&(f.sy=f.cropFromCenter?q.height/2:0),f.cropFromCenter||(f.sx+=f.sWidth/2,f.sy+=f.sHeight/2),f.sx+f.sWidth/2>q.width&&(f.sx=q.width-f.sWidth/2),0>f.sx-f.sWidth/2&&(f.sx=f.sWidth/2),0>f.sy-f.sHeight/2&&(f.sy=f.sHeight/2),f.sy+f.sHeight/2>q.height&&(f.sy=q.height-f.sHeight/
2),f.width!==a&&f.height===a)?k.height=f.height=f.width/y:f.width===a&&f.height!==a?k.width=f.width=f.height*y:f.width===a&&f.height===a&&(k.width=f.width=q.width,k.height=f.height=q.height));G(g,i,f,f.width,f.height);i.drawImage(q,f.sx-f.sWidth/2,f.sy-f.sHeight/2,f.sWidth,f.sHeight,f.x-f.width/2,f.y-f.height/2,f.width,f.height);f._event?(i.beginPath(),i.rect(f.x-f.width/2,f.y-f.height/2,f.width,f.height),i.restore(),F(b[g],i,k),i.closePath()):i.restore();f.load&&f.load.call(e,k)}}var b=this,i,l,
g,f=u(new x,k),q,t,y;t=f.source.getContext;f.source.src||t?(q=f.source,f.width=q.width,f.height=q.height):f.source&&(q=new Q,q.src=f.source);for(l=0;l<b.length;l+=1)if(i=b[l],g=s(b[l]))D(b[l],k,r),C(g,f),q&&(q.complete||t?e(i,l,g)():(q.onload=e(i,l,g),q.src=q.src));return b};b.fn.pattern=function(b){function k(){g=h.createPattern(l,i.repeat);i.load&&i.load.call(e[0],g)}var e=this,h,i=u(new x,b),l,g;(h=s(e[0]))?"function"===typeof i.source?(l=O.createElement("canvas"),l.width=i.width,l.height=i.height,
b=s(l),i.source.call(l,b),k()):(b=i.source.getContext,i.source.src||b?l=i.source:(l=new Q,l.src=i.source),l.complete||b?k():l.onload=k):g=a;return g};b.fn.gradient=function(b){var k,b=u(new x,b),e=[],h,i,l,g,f,q,t;if(k=s(this[0])){k=b.r1!==a||b.r2!==a?k.createRadialGradient(b.x1,b.y1,b.r1,b.x2,b.y2,b.r2):k.createLinearGradient(b.x1,b.y1,b.x2,b.y2);for(g=1;b["c"+g]!==w;g+=1)b["s"+g]!==w?e.push(b["s"+g]):e.push(a);h=e.length;e[0]===a&&(e[0]=0);e[h-1]===a&&(e[h-1]=1);for(g=0;g<h;g+=1){if(e[g]!==a){q=
1;t=0;i=e[g];for(f=g+1;f<h;f+=1)if(e[f]!==a){l=e[f];break}else q+=1;i>l&&(e[f]=e[g])}else e[g]===a&&(t+=1,e[g]=i+t*((l-i)/q));k.addColorStop(e[g],b["c"+(g+1)])}}else k=a;return k};b.fn.setPixels=function k(b){var h,i,l,g=u(new x,b),f={},q,t,y,v;for(i=0;i<this.length;i+=1)if(h=this[i],l=s(h)){D(this[i],b,k);G(i,l,g,g.width,g.height);!g.x&&(!g.y&&!g.width&&!g.height)&&(g.width=h.width,g.height=h.height,g.x=g.width/2,g.y=g.height/2);q=l.getImageData(g.x-g.width/2,g.y-g.height/2,g.width,g.height);t=q.data;
v=t.length;f=[];if(g.each!==a)for(y=0;y<v;y+=4)f.r=t[y],f.g=t[y+1],f.b=t[y+2],f.a=t[y+3],g.each.call(h,f),t[y]=f.r,t[y+1]=f.g,t[y+2]=f.b,t[y+3]=f.a;l.putImageData(q,g.x-g.width/2,g.y-g.height/2);l.restore()}return this};b.fn.getCanvasImage=function(b,e){var h=this[0];return h&&h.toDataURL?h.toDataURL("image/"+b,e):a};b.fn.getLayers=function(){var k=this[0],e;!k||!k.getContext?e=[]:(e=b.data(k,"jCanvas-layers"),e||(e=[],b.data(k,"jCanvas-layers",e)));return e};b.fn.getLayer=function(b){var e=this.getLayers(),
a;if(!b||!b.layer){if("string"===typeof b)for(a=0;a<e.length;a+=1)if(e[a].name===b){b=a;break}b=e[b||0]}return b};b.fn.setLayer=function(a,e){var h,i,l;for(h=0;h<this.length;h+=1){i=b(this[h]).getLayers();if("string"===typeof a)for(l=0;l<i.length;l+=1)i[l].name===a&&(a=l);a=a||0;u(i[a],e)}return this};b.fn.getLayerGroup=function(b){var a=this.getLayers(),h=[],i;for(i=0;i<a.length;i+=1)a[i].group===b&&h.push(a[i]);return h};b.fn.setLayerGroup=function(a,e){var h,i,l;for(h=0;h<this.length;h+=1){i=b(this[h]).getLayers();
for(l=0;l<i.length;l+=1)i[l].group===a&&u(i[l],e)}return this};b.fn.removeLayerGroup=function(a){var e,h,i;for(e=0;e<this.length;e+=1){h=b(this[e]).getLayers();for(i=0;i<h.length;i+=1)h[i].group===a&&h.splice(i,1)}return this};b.fn.drawLayer=function(a){var e,h,i,l;for(e=0;e<this.length;e+=1)i=b(this[e]),h=s(this[e]),l=i.getLayer(a),V(i,h,l);return this};b.fn.drawLayers=function(a){var e,h,i,l,g,f;for(h=0;h<this.length;h+=1)if(e=b(this[h]),i=s(this[h])){i.clearRect(0,0,this[h].width,this[h].height);
l=e.getLayers();for(f=0;f<l.length;f+=1)g=l[f],a&&(g._fired=E),V(e,i,g)}return this};b.fn.addLayer=function(b){var a,h,b=b||{};for(a=0;a<this.length;a+=1)if(h=s(this[a]))b.layer=v,D(this[a],b);return this};b.fn.removeLayers=function(){var a,e;for(e=0;e<this.length;e+=1)a=b(this[e]).getLayers(),a.length=0;return this};b.fn.removeLayer=function(a){var e,h,i;for(e=0;e<this.length;e+=1){h=b(this[e]).getLayers();if("string"===typeof a)for(i=0;i<h.length;i+=1)if(h[i].name===a){a=i;break}h.splice(a,1)}return this};
I=["width","height","opacity"];b.fn.animateLayer=function(){function k(b,a){return function(){W(a);b.drawLayers();g[4]&&g[4].call(b[0])}}function e(b,a){return function(e,f){W(a);b.drawLayers();g[5]&&g[5].call(b[0],e,f)}}var h,i,l,g=[].slice.call(arguments,0),f;"object"===typeof g[0]&&!g[0].layer&&g.unshift(0);"object"===typeof g[2]?(g.splice(2,0,g[2].duration||a),g.splice(3,0,g[3].easing||a),g.splice(4,0,g[4].complete||a),g.splice(5,0,g[5].step||a)):(g[2]===w?(g.splice(2,0,a),g.splice(3,0,a),g.splice(4,
0,a)):"function"===typeof g[2]&&(g.splice(2,0,a),g.splice(3,0,a)),g[3]===w)?(g[3]=a,g.splice(4,0,a)):"function"===typeof g[3]&&g.splice(3,0,a);for(i=0;i<this.length;i+=1)if(h=b(this[i]),l=s(this[i]))if((l=h.getLayer(g[0]))&&l.method!==b.fn.draw)X(l),X(g[1]),f=Z(this[i]),f.x=[],f.y=[],b(l).animate(g[1],{duration:g[2],easing:b.easing[g[3]]?g[3]:a,complete:k(h,l),step:e(h,l)});return this};b.fn.delayLayer=function(a,e){var h,i,e=e||0;for(h=0;h<this.length;h+=1)i=b(this[h]).getLayer(a),b(i).delay(e);
return this};b.fn.stopLayer=function(a,e){var h,i;for(h=0;h<this.length;h+=1)i=b(this[h]).getLayer(a),b(i).stop(e);return this};(function(a){var e;for(e=0;e<a.length;e+=1)b.fx.step[a[e]]=ca})("color backgroundColor borderColor borderTopColor borderRightColor borderBottomColor borderLeftColor fillStyle outlineColor strokeStyle shadowColor".split(" "));J("click");J("dblclick");J("mousedown");J("mouseup");J("mousemove");J("mouseover");J("mouseout");b.event.fix=function(a){var e,a=da.call(b.event,a);
if(a.pageX!==w&&a.offsetX===w&&(e=b(a.target).offset()))a.offsetX=a.pageX-e.left,a.offsetY=a.pageY-e.top;return a};b.support.canvas=O.createElement("canvas").getContext!==w;B.defaults=K;b.jCanvas=B})(jQuery,document,Image,Math,parseFloat,!0,!1,null);
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。