点击切换验证码
canvas 点击切换验证码
<canvas id="canvas" width="120px" height="40px"></canvas> <script> window.onload=function(){ var canvas=document.getElementById('canvas'); var context = canvas.getContext('2d'); draw(); canvas.onclick=function(){ context.clearRect(0,0,120,40); draw(); } function draw(){ context.strokeRect(0,0,120,40) var aCode = ['0','1','2','3','4','5','6','7','8'] //要随机产生的元素 for (let i = 0; i < 4; i++) { var x=20+i*20; var y = 20+ 10*Math.random(); var index = Math.floor(Math.random()*aCode.length) ;//数组下标 var txt = aCode[index];//1 3 5 0 context.font = 'bold 20px'; context.fillStyle = getColor();//颜色 随机 context.translate(x,y); var deg = 90 * Math.random()*Math.PI/180; context.rotate(deg); context.fillText(txt,0,0); context.rotate(-deg) context.translate(-x,-y) } //干扰点 for(var i=0; i<5;i++){ context.beginPath(); // var x = Math.random()*120; var y = Math.random()*40; //七点 context.moveTo(x,y); //终点 context.lineTo(x+1,x+1); context.strokeStyle = getColor() //绘制 context.stroke(); context.closePath() } //干扰点 for(var i=0; i<4;i++){ context.beginPath(); // var x = Math.random()*120; var y = Math.random()*40; //七点 context.moveTo( Math.random()*120, Math.random()*40); //终点 context.lineTo(Math.random()*120,Math.random()*40); context.strokeStyle = getColor() //绘制 context.stroke(); context.closePath() } } function getColor(){ var r = Math.floor(Math.random()*256) var g = Math.floor(Math.random()*256) var b = Math.floor(Math.random()*256) return 'rgb('+r +','+g +','+b+')' } } </script>
..