首页 > 作文

canvas基础之图形验证码的示例

更新时间:2023-04-03 08:12:41 阅读: 评论:0

在通常的登录界面我们都可以看到验证码,验证码的作用是检测是不是人在操作,老年精神病防止机器等非人操作,防止数据库被轻而易举的攻破。

验证码一般用php和java等后端语言编写;

但是在前端,用canva或者svg也可以绘制验证码;

直接上干货:

<!doctype html><html>    <head>        <meta chart="utf-8">        <title></title>        <style type="text/css">            canvas {                border: 1px solid red;            }        </style>    </head>    <body>        <canvas id="mycanvas" width="100" height="40">            您的浏览器不支持canvas        </canvas>    </body&新疆有沙漠吗gt;    <script type="text/javascript">        var mycanvas = document.getelementbyid("mycanvas");        var context = mycanvas.getcontext("2d");        //随机字符(透明度)(大小随机,位置随机);        var strstore = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789";        //随机函数        function roundnum(min, max) {            return parint(math.random() * (max - min) + min);       计算机三级考试 }        //文字内容部分:        var str = "";        for(var i = 0; i < 5; i++) {            context.beginpath();            //随机颜色(浅色:rgb - 200~250)            var color = `rgb(${roundnum(0,255)},${roundnum(0,255)},${roundnum(0,255)})`;            context.fillstyle = color;            context.font = roundnum(20,30)+"px arial";            context.textalign = "center";            str = strstore[roundnum(0,strstore.length)];            context.filltext(str, 10 + 18 * i, roundnum(20,35));        }        //10个左右的随机(长度随机,位置随机),干扰线        for(var j = 0; j < roundnum(5, 10); j++) {            context.beginpath();            var color =蔡文姬简介 `rgb(${roundnum(0,255)},${roundnum(0,255直线距离公式)},${roundnum(0,255)})`;            context.strokestyle = color;            context.moveto(roundnum(0, 100), roundnum(0, 40));            context.lineto(roundnum(0, 100), roundnum(0, 40));            context.stroke();        }        //干扰项:10个左右的随机(半径随机,位置随机),干扰圆        for(var j = 0; j < roundnum(5, 10); j++) {            context.beginpath();            context.fillstyle = color;            context.arc(roundnum(0, 100), roundnum(0, 40), roundnum(0, 5), math.pi * 2 / (roundnum(1, 360)), math.pi * 2 / (roundnum(1, 360)));            context.fill();        }            </script></html>

结果如图:

至于要拿来咋用,就看大家高兴了。想怎么整这么整。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。

本文发布于:2023-04-03 08:12:40,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/02753ec4e3d086816c9737743a1e5769.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:canvas基础之图形验证码的示例.doc

本文 PDF 下载地址:canvas基础之图形验证码的示例.pdf

标签:验证码   干扰   位置   您的
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图