123456789 |
- (function(n,h){if("function"===typeof define&&define.amd)define(["module"],h);else if("undefined"!==typeof exports)h(module);else{var g={exports:{}};h(g);n.MaterialImage=g.exports}})(this,function(n){function h(e){return Array.isArray(e)?e:Array.from(e)}function g(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function");}var p=function(){function e(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value"in d&&(d.writable=!0);Object.defineProperty(a,
- d.key,d)}}return function(a,b,c){b&&e(a.prototype,b);c&&e(a,c);return a}}(),q="#FFEBEE #FFCDD2 #EF9A9A #E57373 #EF5350 #F44336 #E53935 #D32F2F #C62828 #B71C1C #FF8A80 #FF5252 #FF1744 #D50000 #FCE4EC #F8BBD0 #F48FB1 #F06292 #EC407A #E91E63 #D81B60 #C2185B #AD1457 #880E4F #FF80AB #FF4081 #F50057 #C51162 #F3E5F5 #E1BEE7 #CE93D8 #BA68C8 #AB47BC #9C27B0 #8E24AA #7B1FA2 #6A1B9A #4A148C #EA80FC #E040FB #D500F9 #AA00FF #EDE7F6 #D1C4E9 #B39DDB #9575CD #7E57C2 #673AB7 #5E35B1 #512DA8 #4527A0 #311B92 #B388FF #7C4DFF #651FFF #6200EA #E8EAF6 #C5CAE9 #9FA8DA #7986CB #5C6BC0 #3F51B5 #3949AB #303F9F #283593 #1A237E #8C9EFF #536DFE #3D5AFE #304FFE #E3F2FD #BBDEFB #90CAF9 #64B5F6 #42A5F5 #2196F3 #1E88E5 #1976D2 #1565C0 #0D47A1 #82B1FF #448AFF #2979FF #2962FF #E1F5FE #B3E5FC #81D4FA #4FC3F7 #29B6F6 #03A9F4 #039BE5 #0288D1 #0277BD #01579B #80D8FF #40C4FF #00B0FF #0091EA #E0F2F1 #B2DFDB #80CBC4 #4DB6AC #26A69A #009688 #00897B #00796B #00695C #004D40 #A7FFEB #64FFDA #1DE9B6 #00BFA5 #E0F7FA #B2EBF2 #80DEEA #4DD0E1 #26C6DA #00BCD4 #00ACC1 #0097A7 #00838F #006064 #84FFFF #18FFFF #00E5FF #00B8D4 #E8F5E9 #C8E6C9 #A5D6A7 #81C784 #66BB6A #4CAF50 #43A047 #388E3C #2E7D32 #1B5E20 #B9F6CA #69F0AE #00E676 #00C853 #F1F8E9 #DCEDC8 #C5E1A5 #AED581 #9CCC65 #8BC34A #7CB342 #689F38 #558B2F #33691E #CCFF90 #B2FF59 #76FF03 #64DD17 #F9FBE7 #F0F4C3 #E6EE9C #DCE775 #D4E157 #CDDC39 #C0CA33 #AFB42B #9E9D24 #827717 #F4FF81 #EEFF41 #C6FF00 #AEEA00 #FFFDE7 #FFF9C4 #FFF59D #FFF176 #FFEE58 #FFEB3B #FDD835 #FBC02D #F9A825 #F57F17 #FFFF8D #FFFF00 #FFEA00 #FFD600 #FFF8E1 #FFECB3 #FFE082 #FFD54F #FFCA28 #FFC107 #FFB300 #FFA000 #FF8F00 #FF6F00 #FFE57F #FFD740 #FFC400 #FFAB00 #FFF3E0 #FFE0B2 #FFCC80 #FFB74D #FFA726 #FF9800 #FB8C00 #F57C00 #EF6C00 #E65100 #FFD180 #FFAB40 #FF9100 #FF6D00 #FBE9E7 #FFCCBC #FFAB91 #FF8A65 #FF7043 #FF5722 #F4511E #E64A19 #D84315 #BF360C #FF9E80 #FF6E40 #FF3D00 #DD2C00 #FAFAFA #F5F5F5 #EEEEEE #E0E0E0 #BDBDBD #9E9E9E #757575 #616161 #424242 #212121 #ECEFF1 #CFD8DC #B0BEC5 #90A4AE #78909C #607D8B #546E7A #455A64 #37474F #263238 #EFEBE9 #D7CCC8 #BCAAA4 #A1887F #8D6E63 #795548 #6D4C41 #5D4037 #4E342E #3E2723".split(" "),
- f=function(e,a){return Math.floor(Math.random()*(a-e+1)+e)},r=function(e,a){for(var b=[],c=0;c<=e;){var d=(d=a)||q;d=d[f(0,d.length-1)];-1===b.indexOf(d)&&(b.push(d),c+=1)}return b},t=function(){function e(a){g(this,e);this.ctx=a.getContext("2d")}p(e,[{key:"shadow",value:function(a){var b=a.x,c=a.y,d=a.color;this.ctx.shadowBlur=a.blur;this.ctx.shadowOffsetX=void 0===b?1:b;this.ctx.shadowOffsetY=void 0===c?1:c;this.ctx.shadowColor=void 0===d?"rgba(0, 0, 0, .3)":d}},{key:"rect",value:function(a){var b=
- a.width,c=a.height;a=f(10,360)*Math.PI/180;var d=f(100,Math.max(b,c))*(f(-10,10)||1);b=f(100,Math.min(b,c))*(f(-10,10)||1);this.ctx.rotate(a);this.ctx.rect(0,0,d,b);this.ctx.rotate(-a)}},{key:"arc",value:function(a){a=f(100,Math.min(a.width,a.height)/2);this.ctx.arc(0,0,a,0,2*Math.PI)}},{key:"draw",value:function(a,b){var c=b.width,d=b.height,e=b.color;this.ctx.beginPath();this.shadow({blur:20});c=f(0,c);d=f(0,d);this.ctx.translate(c,d);this[a](b);this.ctx.closePath();this.ctx.fillStyle=e;this.ctx.fill();
- this.ctx.translate(-c,-d)}},{key:"fill",value:function(a,b,c){this.ctx.fillStyle=a;this.ctx.fillRect(0,0,b,c)}}]);return e}(),v=function(){function e(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};g(this,e);var b=a.el,c=void 0===b?document.querySelector("body"):b,d=a.debug,f=a.output,h=a.imageType,m=a.quality;b=c.clientWidth;var k=c.clientHeight;this.colors=a.colors||null;this.debug=void 0===d?!1:d;this.element=c;this.width=b;this.height=k;this.outputType=void 0===f?"background":
- f;this.outputOption={imageType:h,quality:m};a=document.createElement("canvas");a.width=b;a.height=k;this.canvas=a;this.render();this.protract()}p(e,[{key:"output",value:function(){if("canvas"!==this.outputType){var a=this.toDataUrl(this.outputOption);switch(this.outputType){case "background":this.element.style.backgroundImage='url("'+a+'")';break;case "image":this.img.src=a}}}},{key:"protract",value:function(){var a=this,b=f(0,8)+6,c=r(b,a.colors);c=h(c);var d=c[0],e=c.slice(1),g=new t(this.canvas),
- m=this.width,k=this.height;g.fill(d,m,k);var l=0;if(this.debug)setTimeout(function u(){g.draw(["rect","arc"][f(0,1)],{color:e[l],width:m,height:k});a.output();l+=1;l<b&&setTimeout(u,1E3)},1E3);else{for(;l<b;)g.draw(["rect","arc"][f(0,1)],{color:e[l],width:m,height:k}),l+=1;this.output()}}},{key:"adjust",value:function(){var a=this.canvas,b=this.element;a.width=b.clientWidth;a.height=b.clientHeight;this.protract()}},{key:"toDataUrl",value:function(){return this.canvas.toDataURL("image/"+(0<arguments.length&&
- void 0!==arguments[0]?arguments[0]:"jpeg"),1<arguments.length&&void 0!==arguments[1]?arguments[1]:1)}},{key:"render",value:function(){switch(this.outputType){case "canvas":this.element.appendChild(this.canvas);break;case "background":this.element.style.cssText+="\n background-repeat: no-repeat;\n background-size: cover;";break;case "image":this.img=document.createElement("img"),this.img.style.cssText="width: 100%; height: 100%",this.element.appendChild(this.img)}}},{key:"destroy",
- value:function(){switch(this.outputType){case "canvas":this.canvas.remove();break;case "background":this.element.style.cssText=this.element.style.cssText.replace(/background[^;]+;/g,"");break;case "image":this.img.remove()}}}]);return e}();n.exports=v});
|