zoukankan      html  css  js  c++  java
  • 点击切换验证码

     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>

    ..

  • 相关阅读:
    提示框第三方库之MBProgressHUD
    三种ViewController跳转的异同
    性能测试学习第一天_性能测试常见术语
    JSONArray与list互转
    web service CXF工作中使用总结
    局部变量、类变量、实例变量有什么区别
    hibernate 的几种查询——工作中使用到的
    tomcat 常见启动问题小记
    文本编辑器KindEditor的使用
    kaptcha Java验证码
  • 原文地址:https://www.cnblogs.com/wxyblog/p/12899733.html
Copyright © 2011-2022 走看看