!(function(window,document){function gverify(options){this.options={id:"",canvasid:"verifycanvas",width:"100",height:"30",type:"blend",code:""} if(object.prototype.tostring.call(options)=="[object object]"){for(var i in options){this.options[i]=options[i];}}else{this.options.id=options;} this.options.numarr="0,1,2,3,4,5,6,7,8,9".split(",");this.options.letterarr=getallletter();this._init();this.refresh();} gverify.prototype={version:'1.0.0',_init:function(){var con=document.getelementbyid(this.options.id);var canvas=document.createelement("canvas");this.options.width=con.offsetwidth>0?con.offsetwidth:"100";this.options.height=con.offsetheight>0?con.offsetheight:"30";canvas.id=this.options.canvasid;canvas.width=this.options.width;canvas.height=this.options.height;canvas.style.cursor="pointer";canvas.innerhtml="您的浏览器版本不支持canvas";con.appendchild(canvas);var parent=this;canvas.onclick=function(){parent.refresh();}},refresh:function(){this.options.code="";var canvas=document.getelementbyid(this.options.canvasid);if(canvas.getcontext){var ctx=canvas.getcontext('2d');}else{return;} ctx.textbaseline="middle";ctx.fillstyle=randomcolor(180,240);ctx.fillrect(0,0,this.options.width,this.options.height);if(this.options.type=="blend"){var txtarr=this.options.numarr.concat(this.options.letterarr);}else if(this.options.type=="number"){var txtarr=this.options.numarr;}else{var txtarr=this.options.letterarr;} for(var i=1;i<=4;i++){var txt=txtarr[randomnum(0,txtarr.length)];this.options.code+=txt;ctx.font=randomnum(this.options.height/2,this.options.height)+'px simhei';ctx.fillstyle=randomcolor(50,160);ctx.shadowoffsetx=randomnum(-3,3);ctx.shadowoffsety=randomnum(-3,3);ctx.shadowblur=randomnum(-3,3);ctx.shadowcolor="rgba(0, 0, 0, 0.3)";var x=this.options.width/5*i;var y=this.options.height/2;var deg=randomnum(-30,30);ctx.translate(x,y);ctx.rotate(deg*math.pi/180);ctx.filltext(txt,0,0);ctx.rotate(-deg*math.pi/180);ctx.translate(-x,-y);} for(var i=0;i<4;i++){ctx.strokestyle=randomcolor(40,180);ctx.beginpath();ctx.moveto(randomnum(0,this.options.width),randomnum(0,this.options.height));ctx.lineto(randomnum(0,this.options.width),randomnum(0,this.options.height));ctx.stroke();} for(var i=0;i