cms_yiqingfangkong/TE.Site/Public/plugins/cropper/cropper.min.js
(完整代码) 29KB(function(n,t){typeof exports=="object"&&typeof module!="undefined"?t(require("jquery")):typeof define=="function"&&define.amd?define(["jquery"],t):t(n.jQuery)})(this,function(n){"use strict";function t(n){return typeof n=="number"&&!isNaN(n)}function u(n){return typeof n=="undefined"}function ri(n,i){var r=[];return t(i)&&r.push(i),r.slice.apply(n,r)}function r(n,t){for(var r=arguments.length,u=Array(r>2?r-2:0),i=2;i<r;i++)u[i-2]=arguments[i];return function(){for(var r=arguments.length,f=Array(r),i=0;i<r;i++)f[i]=arguments[i];return n.apply(t,u.concat(ri(f)))}}function l(t){var i=[];return n.each(t,function(n){i.push(n)}),i}function nt(n){var t=n.match(/^(https?:)\/\/([^:/?#]+):?(\d*)/i);return t&&(t[1]!==location.protocol||t[2]!==location.hostname||t[3]!==location.port)}function tt(n){var t="timestamp="+(new Date).getTime();return n+(n.indexOf("?")===-1?"?":"&")+t}function ui(n,t){if(n.naturalWidth&&!d){t(n.naturalWidth,n.naturalHeight);return}var i=document.createElement("img");i.onload=function(){t(this.width,this.height)};i.src=n.src}function f(n){var i=[],r=n.translateX,u=n.translateY,f=n.rotate,e=n.scaleX,o=n.scaleY;return t(r)&&r!==0&&i.push("translateX("+r+"px)"),t(u)&&u!==0&&i.push("translateY("+u+"px)"),t(f)&&f!==0&&i.push("rotate("+f+"deg)"),t(e)&&e!==1&&i.push("scaleX("+e+")"),t(o)&&o!==1&&i.push("scaleY("+o+")"),i.length?i.join(" "):"none"}function a(n,t){var r=Math.abs(n.degree)%180,s=(r>90?180-r:r)*Math.PI/180,u=Math.sin(s),f=Math.cos(s),e=n.width,h=n.height,c=n.aspectRatio,i=void 0,o=void 0;return t?(i=e/(f+u/c),o=i/c):(i=e*f+h*u,o=e*u+h*f),{width:i,height:o}}function it(i,r,u){var s=n("<canvas>")[0],f=s.getContext("2d"),g=0,nt=0,v=r.naturalWidth,y=r.naturalHeight,h=r.rotate,c=r.scaleX,l=r.scaleY,p=t(c)&&t(l)&&(c!==1||l!==1),w=t(h)&&h!==0,tt=w||p,e=v*Math.abs(c||1),o=y*Math.abs(l||1),b=void 0,k=void 0,d=void 0;return p&&(b=e/2,k=o/2),w&&(d=a({width:e,height:o,degree:h}),e=d.width,o=d.height,b=e/2,k=o/2),s.width=e,s.height=o,u.fillColor&&(f.fillStyle=u.fillColor,f.fillRect(0,0,e,o)),tt&&(g=-v/2,nt=-y/2,f.save(),f.translate(b,k)),w&&f.rotate(h*Math.PI/180),p&&f.scale(c,l),f.imageSmoothingEnabled=!!u.imageSmoothingEnabled,u.imageSmoothingQuality&&(f.imageSmoothingQuality=u.imageSmoothingQuality),f.drawImage(i,Math.floor(g),Math.floor(nt),Math.floor(v),Math.floor(y)),tt&&f.restore(),s}function fi(n,t,i){var u="",r=void 0;for(r=t,i+=t;r<i;r+=1)u+=g(n.getUint8(r));return u}function ei(n){var t=new DataView(n),s=t.byteLength,l=void 0,a=void 0,u=void 0,h=void 0,r=void 0,c=void 0,f=void 0,e=void 0,i=void 0,o=void 0;if(t.getUint8(0)===255&&t.getUint8(1)===216)for(i=2;i<s;){if(t.getUint8(i)===255&&t.getUint8(i+1)===225){f=i;break}i+=1}if(f&&(a=f+4,u=f+10,fi(t,a,4)==="Exif"&&(c=t.getUint16(u),r=c===18761,(r||c===19789)&&t.getUint16(u+2,r)===42&&(h=t.getUint32(u+4,r),h>=8&&(e=u+h)))),e)for(s=t.getUint16(e,r),o=0;o<s;o+=1)if(i=e+o*12+2,t.getUint16(i,r)===274){i+=8;l=t.getUint16(i,r);d&&t.setUint16(i,1,r);break}return l}function oi(n){for(var f=n.replace(ii,""),i=atob(f),r=i.length,u=new ArrayBuffer(r),e=new Uint8Array(u),t=void 0,t=0;t<r;t+=1)e[t]=i.charCodeAt(t);return u}function si(n){for(var i=new Uint8Array(n),u=i.length,r="",t=void 0,t=0;t<u;t+=1)r+=g(i[t]);return"data:image/jpeg;base64,"+btoa(r)}function y(t,i){var r=t.pageX,u=t.pageY,f={endX:r,endY:u};return i?f:n.extend({startX:r,startY:u},f)}function yi(t){var r=n.extend({},t),i=[];return n.each(t,function(t,u){delete r[t];n.each(r,function(n,t){var r=Math.abs(u.startX-t.startX),f=Math.abs(u.startY-t.startY),e=Math.abs(u.endX-t.endX),o=Math.abs(u.endY-t.endY),s=Math.sqrt(r*r+f*f),h=Math.sqrt(e*e+o*o),c=(h-s)/s;i.push(c)})}),i.sort(function(n,t){return Math.abs(n)<Math.abs(t)}),i[0]}function pi(n){if(Array.isArray(n)){for(var t=0,i=Array(n.length);t<n.length;t++)i[t]=n[t];return i}return Array.from(n)}function wi(t){var i=0,r=0,u=0;return n.each(t,function(n,t){var f=t.startX,e=t.startY;i+=f;r+=e;u+=1}),i/=u,r/=u,{pageX:i,pageY:r}}function bi(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}var kt,dt,gt,w,ni;n=n&&n.hasOwnProperty("default")?n["default"]:n;var b={viewMode:0,dragMode:"crop",aspectRatio:NaN,data:null,preview:"",responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:200,minContainerHeight:100,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},ti='<div class="cropper-container"><div class="cropper-wrap-box"><div class="cropper-canvas"><\/div><\/div><div class="cropper-drag-box"><\/div><div class="cropper-crop-box"><span class="cropper-view-box"><\/span><span class="cropper-dashed dashed-h"><\/span><span class="cropper-dashed dashed-v"><\/span><span class="cropper-center"><\/span><span class="cropper-face"><\/span><span class="cropper-line line-e" data-action="e"><\/span><span class="cropper-line line-n" data-action="n"><\/span><span class="cropper-line line-w" data-action="w"><\/span><span class="cropper-line line-s" data-action="s"><\/span><span class="cropper-point point-e" data-action="e"><\/span><span class="cropper-point point-n" data-action="n"><\/span><span class="cropper-point point-w" data-action="w"><\/span><span class="cropper-point point-s" data-action="s"><\/span><span class="cropper-point point-ne" data-action="ne"><\/span><span class="cropper-point point-nw" data-action="nw"><\/span><span class="cropper-point point-sw" data-action="sw"><\/span><span class="cropper-point point-se" data-action="se"><\/span><\/div><\/div>',ii=/^data:.*,/,k=typeof window!="undefined"?window.navigator:null,d=k&&/(Macintosh|iPhone|iPod|iPad).*AppleWebKit/i.test(k.userAgent),g=String.fromCharCode;var hi={render:function(){var n=this;n.initContainer();n.initCanvas();n.initCropBox();n.renderCanvas();n.cropped&&n.renderCropBox()},initContainer:function(){var n=this,r=n.options,u=n.$element,f=n.$container,i=n.$cropper,t="cropper-hidden";i.addClass(t);u.removeClass(t);i.css(n.container={width:Math.max(f.width(),Number(r.minContainerWidth)||200),height:Math.max(f.height(),Number(r.minContainerHeight)||100)});u.addClass(t);i.removeClass(t)},initCanvas:function(){var i=this,e=i.options.viewMode,c=i.container,u=c.width,f=c.height,o=i.image,l=o.naturalWidth,a=o.naturalHeight,v=Math.abs(o.rotate)%180==90,y=v?a:l,p=v?l:a,r=y/p,s=u,h=f,t;f*r>u?e===3?s=f*r:h=u/r:e===3?h=u/r:s=f*r;t={naturalWidth:y,naturalHeight:p,aspectRatio:r,width:s,height:h};t.left=(u-s)/2;t.top=(f-h)/2;t.oldLeft=t.left;t.oldTop=t.top;i.canvas=t;i.limited=e===1||e===2;i.limitCanvas(!0,!0);i.initialImage=n.extend({},o);i.initialCanvas=n.extend({},t)},limitCanvas:function(n,t){var o=this,y=o.options,s=y.viewMode,p=o.container,l=p.width,a=p.height,i=o.canvas,e=i.aspectRatio,f=o.cropBox,v=o.cropped&&f,r,u,h,c;n&&(r=Number(y.minCanvasWidth)||0,u=Number(y.minCanvasHeight)||0,s&&(s>1?(r=Math.max(r,l),u=Math.max(u,a),s===3&&(u*e>r?r=u*e:u=r/e)):r?r=Math.max(r,v?f.width:0):u?u=Math.max(u,v?f.height:0):v&&(r=f.width,u=f.height,u*e>r?r=u*e:u=r/e)),r&&u?u*e>r?u=r/e:r=u*e:r?u=r/e:u&&(r=u*e),i.minWidth=r,i.minHeight=u,i.maxWidth=Infinity,i.maxHeight=Infinity);t&&(s?(h=l-i.width,c=a-i.height,i.minLeft=Math.min(0,h),i.minTop=Math.min(0,c),i.maxLeft=Math.max(0,h),i.maxTop=Math.max(0,c),v&&o.limited&&(i.minLeft=Math.min(f.left,f.left+f.width-i.width),i.minTop=Math.min(f.top,f.top+f.height-i.height),i.maxLeft=f.left,i.maxTop=f.top,s===2&&(i.width>=l&&(i.minLeft=Math.min(0,h),i.maxLeft=Math.max(0,h)),i.height>=a&&(i.minTop=Math.min(0,c),i.maxTop=Math.max(0,c))))):(i.minLeft=-i.width,i.minTop=-i.height,i.maxLeft=l,i.maxTop=a))},renderCanvas:function(n){var i=this,t=i.canvas,r=i.image,e=r.rotate,s=r.naturalWidth,h=r.naturalHeight,o;if(i.rotated){i.rotated=!1;var u=a({width:r.width,height:r.height,degree:e}),c=u.width/u.height,l=r.aspectRatio===1;(l||c!==t.aspectRatio)&&(t.left-=(u.width-t.width)/2,t.top-=(u.height-t.height)/2,t.width=u.width,t.height=u.height,t.aspectRatio=c,t.naturalWidth=s,t.naturalHeight=h,(l&&e%90||e%180)&&(o=a({width:s,height:h,degree:e}),t.naturalWidth=o.width,t.naturalHeight=o.height),i.limitCanvas(!0,!1))}(t.width>t.maxWidth||t.width<t.minWidth)&&(t.left=t.oldLeft);(t.height>t.maxHeight||t.height<t.minHeight)&&(t.top=t.oldTop);t.width=Math.min(Math.max(t.width,t.minWidth),t.maxWidth);t.height=Math.min(Math.max(t.height,t.minHeight),t.maxHeight);i.limitCanvas(!1,!0);t.left=Math.min(Math.max(t.left,t.minLeft),t.maxLeft);t.top=Math.min(Math.max(t.top,t.minTop),t.maxTop);t.oldLeft=t.left;t.oldTop=t.top;i.$canvas.css({width:t.width,height:t.height,transform:f({translateX:t.left,translateY:t.top})});i.renderImage();i.cropped&&i.limited&&i.limitCropBox(!0,!0);n&&i.output()},renderImage:function(t){var e=this,r=e.canvas,i=e.image,u=void 0;i.rotate&&(u=a({width:r.width,height:r.height,degree:i.rotate,aspectRatio:i.aspectRatio},!0));n.extend(i,u?{width:u.width,height:u.height,left:(r.width-u.width)/2,top:(r.height-u.height)/2}:{width:r.width,height:r.height,left:0,top:0});e.$clone.css({width:i.width,height:i.height,transform:f(n.extend({translateX:i.left,translateY:i.top},i))});t&&e.output()},initCropBox:function(){var r=this,f=r.options,i=r.canvas,u=f.aspectRatio,e=Number(f.autoCropArea)||.8,t={width:i.width,height:i.height};u&&(i.height*u>i.width?t.height=t.width/u:t.width=t.height*u);r.cropBox=t;r.limitCropBox(!0,!0);t.width=Math.min(Math.max(t.width,t.minWidth),t.maxWidth);t.height=Math.min(Math.max(t.height,t.minHeight),t.maxHeight);t.width=Math.max(t.minWidth,t.width*e);t.height=Math.max(t.minHeight,t.height*e);t.left=i.left+(i.width-t.width)/2;t.top=i.top+(i.height-t.height)/2;t.oldLeft=t.left;t.oldTop=t.top;r.initialCropBox=n.extend({},t)},limitCropBox:function(n,t){var o=this,a=o.options,f=a.aspectRatio,y=o.container,s=y.width,h=y.height,e=o.canvas,i=o.cropBox,v=o.limited;if(n){var r=Number(a.minCropBoxWidth)||0,u=Number(a.minCropBoxHeight)||0,c=Math.min(s,v?e.width:s),l=Math.min(h,v?e.height:h);r=Math.min(r,s);u=Math.min(u,h);f&&(r&&u?u*f>r?u=r/f:r=u*f:r?u=r/f:u&&(r=u*f),l*f>c?l=c/f:c=l*f);i.minWidth=Math.min(r,c);i.minHeight=Math.min(u,l);i.maxWidth=c;i.maxHeight=l}t&&(v?(i.minLeft=Math.max(0,e.left),i.minTop=Math.max(0,e.top),i.maxLeft=Math.min(s,e.left+e.width)-i.width,i.maxTop=Math.min(h,e.top+e.height)-i.height):(i.minLeft=0,i.minTop=0,i.maxLeft=s-i.width,i.maxTop=h-i.height))},renderCropBox:function(){var t=this,i=t.options,r=t.container,u=r.width,e=r.height,n=t.cropBox;(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft);(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop);n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth);n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight);t.limitCropBox(!1,!0);n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft);n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop);n.oldLeft=n.left;n.oldTop=n.top;i.movable&&i.cropBoxMovable&&t.$face.data("action",n.width===u&&n.height===e?"move":"all");t.$cropBox.css({width:n.width,height:n.height,transform:f({translateX:n.left,translateY:n.top})});t.cropped&&t.limited&&t.limitCanvas(!0,!0);t.disabled||t.output()},output:function(){var n=this;n.preview();n.completed&&n.trigger("crop",n.getData())}},v="preview",ci={initPreview:function(){var t=this,i=t.crossOrigin,f=i?t.crossOriginUrl:t.url,r=document.createElement("img"),u;i&&(r.crossOrigin=i);r.src=f;u=n(r);t.$preview=n(t.options.preview);t.$clone2=u;t.$viewBox.html(u);t.$preview.each(function(t,r){var u=n(r),e=document.createElement("img");u.data(v,{width:u.width(),height:u.height(),html:u.html()});i&&(e.crossOrigin=i);e.src=f;e.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"';u.html(e)})},resetPreview:function(){this.$preview.each(function(t,i){var u=n(i),r=u.data(v);u.css({width:r.width,height:r.height}).html(r.html).removeData(v)})},preview:function(){var t=this,i=t.image,o=t.canvas,r=t.cropBox,u=r.width,e=r.height,s=i.width,h=i.height,c=r.left-o.left-i.left,l=r.top-o.top-i.top;t.cropped&&!t.disabled&&(t.$clone2.css({width:s,height:h,transform:f(n.extend({translateX:-c,translateY:-l},i))}),t.$preview.each(function(t,r){var p=n(r),w=p.data(v),b=w.width,a=w.height,k=b,y=a,o=1;u&&(o=b/u,y=e*o);e&&y>a&&(o=a/e,k=u*o,y=a);p.css({width:k,height:y}).find("img").css({width:s*o,height:h*o,transform:f(n.extend({translateX:-c*o,translateY:-l*o},i))})}))}},p=typeof window!="undefined"?window.PointerEvent:null,rt=p?"pointerdown":"touchstart mousedown",ut=p?"pointermove":"touchmove mousemove",ft=p?" pointerup pointercancel":"touchend touchcancel mouseup",et="wheel mousewheel DOMMouseScroll",ot="dblclick",st="resize",ht="cropstart",ct="cropmove",lt="cropend",at="crop",vt="zoom",li={bind:function(){var i=this,t=i.options,u=i.$element,f=i.$cropper;if(n.isFunction(t.cropstart))u.on(ht,t.cropstart);if(n.isFunction(t.cropmove))u.on(ct,t.cropmove);if(n.isFunction(t.cropend))u.on(lt,t.cropend);if(n.isFunction(t.crop))u.on(at,t.crop);if(n.isFunction(t.zoom))u.on(vt,t.zoom);f.on(rt,r(i.cropStart,this));if(t.zoomable&&t.zoomOnWheel)f.on(et,r(i.wheel,this));if(t.toggleDragModeOnDblclick)f.on(ot,r(i.dblclick,this));n(document).on(ut,i.onCropMove=r(i.cropMove,this)).on(ft,i.onCropEnd=r(i.cropEnd,this));if(t.responsive)n(window).on(st,i.onResize=r(i.resize,this))},unbind:function(){var i=this,t=i.options,r=i.$element,u=i.$cropper;n.isFunction(t.cropstart)&&r.off(ht,t.cropstart);n.isFunction(t.cropmove)&&r.off(ct,t.cropmove);n.isFunction(t.cropend)&&r.off(lt,t.cropend);n.isFunction(t.crop)&&r.off(at,t.crop);n.isFunction(t.zoom)&&r.off(vt,t.zoom);u.off(rt,i.cropStart);t.zoomable&&t.zoomOnWheel&&u.off(et,i.wheel);t.toggleDragModeOnDblclick&&u.off(ot,i.dblclick);n(document).off(ut,i.onCropMove).off(ft,i.onCropEnd);t.responsive&&n(window).off(st,i.onResize)}},ai=/^(e|w|s|n|se|sw|ne|nw|all|crop|move|zoom)$/;var vi={resize:function(){var t=this,i=t.options,o=t.$container,r=t.container,s=Number(i.minContainerWidth)||200,h=Number(i.minContainerHeight)||100,u,f,e;t.disabled||r.width===s||r.height===h||(u=o.width()/r.width,(u!==1||o.height()!==r.height)&&(f=void 0,e=void 0,i.restore&&(f=t.getCanvasData(),e=t.getCropBoxData()),t.render(),i.restore&&(t.setCanvasData(n.each(f,function(n,t){f[n]=t*u})),t.setCropBoxData(n.each(e,function(n,t){e[n]=t*u})))))},dblclick:function(){var n=this;n.disabled||n.options.dragMode==="none"||n.setDragMode(n.$dragBox.hasClass("cropper-crop")?"move":"crop")},wheel:function(n){var t=this,i=n.originalEvent||n,u=Number(t.options.wheelZoomRatio)||.1,r;t.disabled||(n.preventDefault(),t.wheeling)||(t.wheeling=!0,setTimeout(function(){t.wheeling=!1},50),r=1,i.deltaY?r=i.deltaY>0?1:-1:i.wheelDelta?r=-i.wheelDelta/120:i.detail&&(r=i.detail>0?1:-1),t.zoom(-r*u,n))},cropStart:function(t){var i=this;if(!i.disabled){var e=i.options,f=i.pointers,r=t.originalEvent,u=void 0;(r&&r.changedTouches?n.each(r.changedTouches,function(n,t){f[t.identifier]=y(t)}):f[r&&r.pointerId||0]=y(r||t),u=l(f).length>1&&e.zoomable&&e.zoomOnTouch?"zoom":n(t.target).data("action"),ai.test(u))&&(i.trigger("cropstart",{originalEvent:r,action:u}).isDefaultPrevented()||(t.preventDefault(),i.action=u,i.cropping=!1,u==="crop"&&(i.cropping=!0,i.$dragBox.addClass("cropper-modal"))))}},cropMove:function(t){var r=this,f=r.action,u,i;!r.disabled&&f&&((u=r.pointers,i=t.originalEvent,t.preventDefault(),r.trigger("cropmove",{originalEvent:i,action:f}).isDefaultPrevented())||(i&&i.changedTouches?n.each(i.changedTouches,function(t,i){n.extend(u[i.identifier],y(i,!0))}):n.extend(u[i&&i.pointerId||0],y(i||t,!0)),r.change(t)))},cropEnd:function(t){var i=this;if(!i.disabled){var f=i.action,u=i.pointers,r=t.originalEvent;(r&&r.changedTouches?n.each(r.changedTouches,function(n,t){delete u[t.identifier]}):delete u[r&&r.pointerId||0],f)&&(t.preventDefault(),l(u).length||(i.action=""),i.cropping&&(i.cropping=!1,i.$dragBox.toggleClass("cropper-modal",i.cropped&&i.options.modal)),i.trigger("cropend",{originalEvent:r,action:f}))}}},yt="e",pt="w",wt="s",bt="n",e="se",o="sw",s="ne",h="nw";kt={change:function(t){var y=this,ot=y.options,ut=y.pointers,it=ut[l(ut)[0]],ft=y.container,rt=y.canvas,b=y.cropBox,v=y.action,f=ot.aspectRatio,r=b.width,u=b.height,a=b.left,c=b.top,tt=a+r,d=c+u,g=0,w=0,nt=ft.width,k=ft.height,p=!0,et=void 0,i;!f&&t.shiftKey&&(f=r&&u?r/u:1);y.limited&&(g=b.minLeft,w=b.minTop,nt=g+Math.min(ft.width,rt.width,rt.left+rt.width),k=w+Math.min(ft.height,rt.height,rt.top+rt.height));i={x:it.endX-it.startX,y:it.endY-it.startY};switch(v){case"all":a+=i.x;c+=i.y;break;case yt:if(i.x>=0&&(tt>=nt||f&&(c<=w||d>=k))){p=!1;break}tt+i.x>nt&&(i.x=nt-tt);r+=i.x;f&&(u=r/f,c-=i.x/f/2);r<0&&(v=pt,r=0);break;case bt:if(i.y<=0&&(c<=w||f&&(a<=g||tt>=nt))){p=!1;break}c+i.y<w&&(i.y=w-c);u-=i.y;c+=i.y;f&&(r=u*f,a+=i.y*f/2);u<0&&(v=wt,u=0);break;case pt:if(i.x<=0&&(a<=g||f&&(c<=w||d>=k))){p=!1;break}a+i.x<g&&(i.x=g-a);r-=i.x;a+=i.x;f&&(u=r/f,c+=i.x/f/2);r<0&&(v=yt,r=0);break;case wt:if(i.y>=0&&(d>=k||f&&(a<=g||tt>=nt))){p=!1;break}d+i.y>k&&(i.y=k-d);u+=i.y;f&&(r=u*f,a-=i.y*f/2);u<0&&(v=bt,u=0);break;case s:if(f){if(i.y<=0&&(c<=w||tt>=nt)){p=!1;break}u-=i.y;c+=i.y;r=u*f}else i.x>=0?tt<nt?r+=i.x:i.y<=0&&c<=w&&(p=!1):r+=i.x,i.y<=0?c>w&&(u-=i.y,c+=i.y):(u-=i.y,c+=i.y);r<0&&u<0?(v=o,u=0,r=0):r<0?(v=h,r=0):u<0&&(v=e,u=0);break;case h:if(f){if(i.y<=0&&(c<=w||a<=g)){p=!1;break}u-=i.y;c+=i.y;r=u*f;a+=i.y*f}else i.x<=0?a>g?(r-=i.x,a+=i.x):i.y<=0&&c<=w&&(p=!1):(r-=i.x,a+=i.x),i.y<=0?c>w&&(u-=i.y,c+=i.y):(u-=i.y,c+=i.y);r<0&&u<0?(v=e,u=0,r=0):r<0?(v=s,r=0):u<0&&(v=o,u=0);break;case o:if(f){if(i.x<=0&&(a<=g||d>=k)){p=!1;break}r-=i.x;a+=i.x;u=r/f}else i.x<=0?a>g?(r-=i.x,a+=i.x):i.y>=0&&d>=k&&(p=!1):(r-=i.x,a+=i.x),i.y>=0?d<k&&(u+=i.y):u+=i.y;r<0&&u<0?(v=s,u=0,r=0):r<0?(v=e,r=0):u<0&&(v=h,u=0);break;case e:if(f){if(i.x>=0&&(tt>=nt||d>=k)){p=!1;break}r+=i.x;u=r/f}else i.x>=0?tt<nt?r+=i.x:i.y>=0&&d>=k&&(p=!1):r+=i.x,i.y>=0?d<k&&(u+=i.y):u+=i.y;r<0&&u<0?(v=h,u=0,r=0):r<0?(v=o,r=0):u<0&&(v=s,u=0);break;case"move":y.move(i.x,i.y);p=!1;break;case"zoom":y.zoom(yi(ut),t.originalEvent);p=!1;break;case"crop":if(!i.x||!i.y){p=!1;break}et=y.$cropper.offset();a=it.startX-et.left;c=it.startY-et.top;r=b.minWidth;u=b.minHeight;i.x>0?v=i.y>0?e:s:i.x<0&&(a-=r,v=i.y>0?o:h);i.y<0&&(c-=u);y.cropped||(y.$cropBox.removeClass("cropper-hidden"),y.cropped=!0,y.limited&&y.limitCropBox(!0,!0))}p&&(b.width=r,b.height=u,b.left=a,b.top=c,y.action=v,y.renderCropBox());n.each(ut,function(n,t){t.startX=t.endX;t.startY=t.endY})}};dt={crop:function(){var n=this;n.ready&&!n.disabled&&(n.cropped||(n.cropped=!0,n.limitCropBox(!0,!0),n.options.modal&&n.$dragBox.addClass("cropper-modal"),n.$cropBox.removeClass("cropper-hidden")),n.setCropBoxData(n.initialCropBox))},reset:function(){var t=this;t.ready&&!t.disabled&&(t.image=n.extend({},t.initialImage),t.canvas=n.extend({},t.initialCanvas),t.cropBox=n.extend({},t.initialCropBox),t.renderCanvas(),t.cropped&&t.renderCropBox())},clear:function(){var t=this;t.cropped&&!t.disabled&&(n.extend(t.cropBox,{left:0,top:0,width:0,height:0}),t.cropped=!1,t.renderCropBox(),t.limitCanvas(!0,!0),t.renderCanvas(),t.$dragBox.removeClass("cropper-modal"),t.$cropBox.addClass("cropper-hidden"))},replace:function(n,t){var i=this;!i.disabled&&n&&(i.isImg&&i.$element.attr("src",n),t?(i.url=n,i.$clone.attr("src",n),i.ready&&i.$preview.find("img").add(i.$clone2).attr("src",n)):(i.isImg&&(i.replaced=!0),i.options.data=null,i.load(n)))},enable:function(){var n=this;n.ready&&(n.disabled=!1,n.$cropper.removeClass("cropper-disabled"))},disable:function(){var n=this;n.ready&&(n.disabled=!0,n.$cropper.addClass("cropper-disabled"))},destroy:function(){var n=this,t=n.$element;n.loaded?(n.isImg&&n.replaced&&t.attr("src",n.originalUrl),n.unbuild(),t.removeClass("cropper-hidden")):n.isImg?t.off("load",n.start):n.$clone&&n.$clone.remove();t.removeData("cropper")},move:function(n,t){var i=this,r=i.canvas;i.moveTo(u(n)?n:r.left+Number(n),u(t)?t:r.top+Number(t))},moveTo:function(n,i){var r=this,e=r.canvas,f=!1;u(i)&&(i=n);n=Number(n);i=Number(i);r.ready&&!r.disabled&&r.options.movable&&(t(n)&&(e.left=n,f=!0),t(i)&&(e.top=i,f=!0),f&&r.renderCanvas(!0))},zoom:function(n,t){var i=this,r=i.canvas;n=Number(n);n=n<0?1/(1-n):1+n;i.zoomTo(r.width*n/r.naturalWidth,t)},zoomTo:function(n,t){var r=this,y=r.options,o=r.pointers,i=r.canvas,f=i.width,s=i.height,h=i.naturalWidth,p=i.naturalHeight,a,v;if(n=Number(n),n>=0&&r.ready&&!r.disabled&&y.zoomable){var e=h*n,c=p*n,u=void 0;if(t&&(u=t.originalEvent),r.trigger("zoom",{originalEvent:u,oldRatio:f/h,ratio:e/h}).isDefaultPrevented())return;u?(a=r.$cropper.offset(),v=o&&l(o).length?wi(o):{pageX:t.pageX||u.pageX||0,pageY:t.pageY||u.pageY||0},i.left-=(e-f)*((v.pageX-a.left-i.left)/f),i.top-=(c-s)*((v.pageY-a.top-i.top)/s)):(i.left-=(e-f)/2,i.top-=(c-s)/2);i.width=e;i.height=c;r.renderCanvas(!0)}},rotate:function(n){var t=this;t.rotateTo((t.image.rotate||0)+Number(n))},rotateTo:function(n){var i=this;n=Number(n);t(n)&&i.ready&&!i.disabled&&i.options.rotatable&&(i.image.rotate=n%360,i.rotated=!0,i.renderCanvas(!0))},scale:function(n,i){var r=this,e=r.image,f=!1;u(i)&&(i=n);n=Number(n);i=Number(i);r.ready&&!r.disabled&&r.options.scalable&&(t(n)&&(e.scaleX=n,f=!0),t(i)&&(e.scaleY=i,f=!0),f&&r.renderImage(!0))},scaleX:function(n){var i=this,r=i.image.scaleY;i.scale(n,t(r)?r:1)},scaleY:function(n){var i=this,r=i.image.scaleX;i.scale(t(r)?r:1,n)},getData:function(t){var r=this,e=r.options,u=r.image,o=r.canvas,f=r.cropBox,s=void 0,i=void 0;return r.ready&&r.cropped?(i={x:f.left-o.left,y:f.top-o.top,width:f.width,height:f.height},s=u.width/u.naturalWidth,n.each(i,function(n,r){r/=s;i[n]=t?Math.round(r):r})):i={x:0,y:0,width:0,height:0},e.rotatable&&(i.rotate=u.rotate||0),e.scalable&&(i.scaleX=u.scaleX||1,i.scaleY=u.scaleY||1),i},setData:function(i){var r=this,h=r.options,u=r.image,c=r.canvas,f={},o=void 0,s=void 0,e=void 0;n.isFunction(i)&&(i=i.call(r.element));r.ready&&!r.disabled&&n.isPlainObject(i)&&(h.rotatable&&t(i.rotate)&&i.rotate!==u.rotate&&(u.rotate=i.rotate,o=!0,r.rotated=o),h.scalable&&(t(i.scaleX)&&i.scaleX!==u.scaleX&&(u.scaleX=i.scaleX,s=!0),t(i.scaleY)&&i.scaleY!==u.scaleY&&(u.scaleY=i.scaleY,s=!0)),o?r.renderCanvas():s&&r.renderImage(),e=u.width/u.naturalWidth,t(i.x)&&(f.left=i.x*e+c.left),t(i.y)&&(f.top=i.y*e+c.top),t(i.width)&&(f.width=i.width*e),t(i.height)&&(f.height=i.height*e),r.setCropBoxData(f))},getContainerData:function(){return this.ready?this.container:{}},getImageData:function(){return this.loaded?this.image:{}},getCanvasData:function(){var t=this,r=t.canvas,i={};return t.ready&&n.each(["left","top","width","height","naturalWidth","naturalHeight"],function(n,t){i[t]=r[t]}),i},setCanvasData:function(i){var u=this,r=u.canvas,f=r.aspectRatio;n.isFunction(i)&&(i=i.call(u.$element));u.ready&&!u.disabled&&n.isPlainObject(i)&&(t(i.left)&&(r.left=i.left),t(i.top)&&(r.top=i.top),t(i.width)?(r.width=i.width,r.height=i.width/f):t(i.height)&&(r.height=i.height,r.width=i.height*f),u.renderCanvas(!0))},getCropBoxData:function(){var t=this,n=t.cropBox;return t.ready&&t.cropped?{left:n.left,top:n.top,width:n.width,height:n.height}:{}},setCropBoxData:function(i){var u=this,r=u.cropBox,f=u.options.aspectRatio,e=void 0,o=void 0;n.isFunction(i)&&(i=i.call(u.$element));u.ready&&u.cropped&&!u.disabled&&n.isPlainObject(i)&&(t(i.left)&&(r.left=i.left),t(i.top)&&(r.top=i.top),t(i.width)&&i.width!==r.width&&(e=!0,r.width=i.width),t(i.height)&&i.height!==r.height&&(o=!0,r.height=i.height),f&&(e?r.height=r.width/f:o&&(r.width=r.height*f)),u.renderCropBox())},getCroppedCanvas:function(t){var i=this,y;if(!i.ready||!window.HTMLCanvasElement)return null;if(n.isPlainObject(t)||(t={}),!i.cropped)return it(i.$clone[0],i.image,t);var u=i.getData(),f=u.width,e=u.height,l=f/e,o=void 0,s=void 0,r=void 0;n.isPlainObject(t)&&(o=t.width,s=t.height,o?(s=o/l,r=o/f):s&&(o=s*l,r=s/e));var a=Math.floor(o||f),v=Math.floor(s||e),c=n("<canvas>")[0],h=c.getContext("2d");return c.width=a,c.height=v,t.fillColor&&(h.fillStyle=t.fillColor,h.fillRect(0,0,a,v)),y=function(){var w=it(i.$clone[0],i.image,t),v=w.width,y=w.height,k=i.canvas,b=[w],n=u.x+k.naturalWidth*(Math.abs(u.scaleX||1)-1)/2,o=u.y+k.naturalHeight*(Math.abs(u.scaleY||1)-1)/2,c=void 0,p=void 0,l=void 0,a=void 0,s=void 0,h=void 0;return n<=-f||n>v?(n=0,c=0,l=0,s=0):n<=0?(l=-n,n=0,s=Math.min(v,f+n),c=s):n<=v&&(l=0,s=Math.min(f,v-n),c=s),c<=0||o<=-e||o>y?(o=0,p=0,a=0,h=0):o<=0?(a=-o,o=0,h=Math.min(y,e+o),p=h):o<=y&&(a=0,h=Math.min(e,y-o),p=h),b.push(Math.floor(n),Math.floor(o),Math.floor(c),Math.floor(p)),r&&(l*=r,a*=r,s*=r,h*=r),s>0&&h>0&&b.push(Math.floor(l),Math.floor(a),Math.floor(s),Math.floor(h)),b}(),h.imageSmoothingEnabled=!!t.imageSmoothingEnabled,t.imageSmoothingQuality&&(h.imageSmoothingQuality=t.imageSmoothingQuality),h.drawImage.apply(h,pi(y)),c},setAspectRatio:function(n){var t=this,i=t.options;t.disabled||u(n)||(i.aspectRatio=Math.max(0,n)||NaN,t.ready&&(t.initCropBox(),t.cropped&&t.renderCropBox()))},setDragMode:function(n){var t=this,u=t.options,i=void 0,r=void 0;t.loaded&&!t.disabled&&(i=n==="crop",r=u.movable&&n==="move",n=i||r?n:"none",t.$dragBox.data("action",n).toggleClass("cropper-crop",i).toggleClass("cropper-move",r),u.cropBoxMovable||t.$face.data("action",n).toggleClass("cropper-crop",i).toggleClass("cropper-move",r))}};gt=function(){function n(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}return function(t,i,r){return i&&n(t.prototype,i),r&&n(t,r),t}}();var c="cropper-hidden",ki=/^data:/,di=/^data:image\/jpeg;base64,/,i=function(){function t(i,r){bi(this,t);var u=this;u.$element=n(i);u.options=n.extend({},b,n.isPlainObject(r)&&r);u.loaded=!1;u.ready=!1;u.completed=!1;u.rotated=!1;u.cropped=!1;u.disabled=!1;u.replaced=!1;u.limited=!1;u.wheeling=!1;u.isImg=!1;u.originalUrl="";u.canvas=null;u.cropBox=null;u.pointers={};u.init()}return gt(t,[{key:"init",value:function(){var i=this,t=i.$element,n=void 0;if(t.is("img")){if(i.isImg=!0,n=t.attr("src"),i.originalUrl=n,!n)return;n=t.prop("src")}else t.is("canvas")&&window.HTMLCanvasElement&&(n=t[0].toDataURL());i.load(n)}},{key:"trigger",value:function(t,i){var r=n.Event(t,i);return this.$element.trigger(r),r}},{key:"load",value:function(t){var i=this,u=i.options,f=i.$element,r;if(t){if(i.url=t,i.image={},!u.checkOrientation||!window.ArrayBuffer){i.clone();return}if(ki.test(t)){di.test(t)?i.read(oi(t)):i.clone();return}r=new XMLHttpRequest;r.onerror=n.proxy(function(){i.clone()},this);r.onload=function(){i.read(this.response)};u.checkCrossOrigin&&nt(t)&&f.prop("crossOrigin")&&(t=tt(t));r.open("get",t);r.responseType="arraybuffer";r.withCredentials=f.prop("crossOrigin")==="use-credentials";r.send()}}},{key:"read",value:function(n){var i=this,e=i.options,o=ei(n),r=i.image,t=0,u=1,f=1;if(o>1){i.url=si(n);switch(o){case 2:u=-1;break;case 3:t=-180;break;case 4:f=-1;break;case 5:t=90;f=-1;break;case 6:t=90;break;case 7:t=90;u=-1;break;case 8:t=-90}}e.rotatable&&(r.rotate=t);e.scalable&&(r.scaleX=u,r.scaleY=f);i.clone()}},{key:"clone",value:function(){var t=this,s=t.options,r=t.$element,u=t.url,i="",f=void 0,e,o;if(s.checkCrossOrigin&&nt(u)&&(i=r.prop("crossOrigin"),i?f=u:(i="anonymous",f=tt(u))),t.crossOrigin=i,t.crossOriginUrl=f,e=document.createElement("img"),i&&(e.crossOrigin=i),e.src=f||u,o=n(e),t.$clone=o,t.isImg)if(r[0].complete)t.start();else r.one("load",n.proxy(t.start,this));else o.one("load",n.proxy(t.start,this)).one("error",n.proxy(t.stop,this)).addClass("cropper-hide").insertAfter(r)}},{key:"start",value:function(){var t=this,i=t.$clone,r=t.$element;t.isImg||(i.off("error",t.stop),r=i);ui(r[0],function(i,r){n.extend(t.image,{naturalWidth:i,naturalHeight:r,aspectRatio:i/r});t.loaded=!0;t.build()})}},{key:"stop",value:function(){var n=this;n.$clone.remove();n.$clone=null}},{key:"build",value:function(){var t=this,i=t.options,f=t.$element,o=t.$clone;if(t.loaded){t.ready&&t.unbuild();var r=n(ti),u=r.find(".cropper-crop-box"),e=u.find(".cropper-face");t.$container=f.parent();t.$cropper=r;t.$canvas=r.find(".cropper-canvas").append(o);t.$dragBox=r.find(".cropper-drag-box");t.$cropBox=u;t.$viewBox=r.find(".cropper-view-box");t.$face=e;f.addClass(c).after(r);t.isImg||o.removeClass("cropper-hide");t.initPreview();t.bind();i.aspectRatio=Math.max(0,i.aspectRatio)||NaN;i.viewMode=Math.max(0,Math.min(3,Math.round(i.viewMode)))||0;t.cropped=i.autoCrop;i.autoCrop?i.modal&&t.$dragBox.addClass("cropper-modal"):u.addClass(c);i.guides||u.find(".cropper-dashed").addClass(c);i.center||u.find(".cropper-center").addClass(c);i.cropBoxMovable&&e.addClass("cropper-move").data("action","all");i.highlight||e.addClass("cropper-invisible");i.background&&r.addClass("cropper-bg");i.cropBoxResizable||u.find(".cropper-line, .cropper-point").addClass(c);t.setDragMode(i.dragMode);t.render();t.ready=!0;t.setData(i.data);t.completing=setTimeout(function(){if(n.isFunction(i.ready))f.one("ready",i.ready);t.trigger("ready");t.trigger("crop",t.getData());t.completed=!0},0)}}},{key:"unbuild",value:function(){var n=this;n.ready&&(n.completed||clearTimeout(n.completing),n.ready=!1,n.completed=!1,n.initialImage=null,n.initialCanvas=null,n.initialCropBox=null,n.container=null,n.canvas=null,n.cropBox=null,n.unbind(),n.resetPreview(),n.$preview=null,n.$viewBox=null,n.$cropBox=null,n.$dragBox=null,n.$canvas=null,n.$container=null,n.$cropper.remove(),n.$cropper=null)}}],[{key:"setDefaults",value:function(t){n.extend(b,n.isPlainObject(t)&&t)}}]),t}();n.extend(i.prototype,hi);n.extend(i.prototype,ci);n.extend(i.prototype,li);n.extend(i.prototype,vi);n.extend(i.prototype,kt);n.extend(i.prototype,dt);w="cropper";ni=n.fn.cropper;n.fn.cropper=function(t){for(var u,f=arguments.length,e=Array(f>1?f-1:0),r=1;r<f;r++)e[r-1]=arguments[r];return u=void 0,this.each(function(r,f){var s=n(f),o=s.data(w),c,h;if(!o){if(/destroy/.test(t))return;c=n.extend({},s.data(),n.isPlainObject(t)&&t);s.data(w,o=new i(f,c))}typeof t=="string"&&(h=o[t],n.isFunction(h)&&(u=h.apply(o,e)))}),typeof u!="undefined"?u:this};n.fn.cropper.Constructor=i;n.fn.cropper.setDefaults=i.setDefaults;n.fn.cropper.noConflict=function(){return n.fn.cropper=ni,this}});
/*
//# sourceMappingURL=cropper.min.js.map
*/
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
