当前位置: 首页 > news >正文

如何利用网站做淘宝客珠海网络推广公司

如何利用网站做淘宝客,珠海网络推广公司,怎么查网站是否被k,dede如何制作网站地图纯属对Canvas API的练习 效果图: 目标: 1.画布中随机出现4个字母或数字的验证码 2.验证吗,内容随机,颜色随机,位置在当前块内随机; 3.添加4条干扰线,颜色长度随机 4.添加50个干扰颗粒&#xff0…

纯属对Canvas API的练习

效果图:

目标:

1.画布中随机出现4个字母或数字的验证码

2.验证吗,内容随机,颜色随机,位置在当前块内随机;

3.添加4条干扰线,颜色长度随机

4.添加50个干扰颗粒,颜色随机,半径为1;

 

思路:

1.由于使用随机数据多,所以封装随机数函数 rn(min,max)

function rn(min,max){return Math.floor(Math.random()*(max-min)+min);}
//返回大于等于min ,小于max的数字

2.由于随机颜色使用多,封装随机颜色函数 rc(min,max)

function rc(min,max){var r=rn(min,max);var g=rn(min,max);var b=rn(min,max);return `rgb(${r},${g},${b})`;
}

3.创建字符串,包含验证码的数据,随机下标抽取四次,并绘制在画布上

//验证吗数据
var
pool='ABCDEFGHEIJDKMNP123456789';
//绘制4次
for(var i=0;i<4;i++){var txt=pool[rn(0,pool.length)];ctx.font="10px Arial";ctx.save();
//获取文本宽度
var tw=ctx.measureText(txt).width;
//以中心旋转,旋转角度(0-90)随机ctx.translate(
30*i+15,10);ctx.rotate(rn(0,90)*Math.PI/180);ctx.fillStyle=rc(80,140);ctx.textBaseline="top";
//绘制文本ctx.fillText(txt,rn(
-10,10-tw),rn(-10,10-10))ctx.restore();}

4.6条干扰线

  for(var i=0;i<6;i++){ctx.beginPath();ctx.strokeStyle=rc(60,120);ctx.moveTo(rn(0,w),rn(0,h));ctx.lineTo(rn(0,w),rn(0,h));ctx.stroke();}

5. 50个干扰点

  for(var i=0;i<50;i++){ctx.beginPath();ctx.arc(rn(0,w),rn(0,h),1,0,2*Math.PI);ctx.fillStyle=rc(0,255);ctx.fill();}

 

完整代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>body{text-align: center}</style>
</head>
<body>
<h3>Canvas绘制画布</h3>
<canvas id="c1"></canvas>
<script>var w=120;var h=30;c1.width=w;c1.height=h;var ctx=c1.getContext("2d");ctx.fillStyle=rc(200,250);ctx.fillRect(0,0,w,h);
//  绘制随机文本var pool='ABCDEFGHEIJDKMNP123456789';for(var i=0;i<4;i++){var txt=pool[rn(0,pool.length)];ctx.font="10px Arial";ctx.save();var tw=ctx.measureText(txt).width;ctx.translate(30*i+15,10);ctx.rotate(rn(0,90)*Math.PI/180);ctx.fillStyle=rc(80,140);ctx.textBaseline="top";ctx.fillText(txt,rn(-10,10-tw),rn(-10,10-10))ctx.restore();}
//  绘制随机6条干扰线for(var i=0;i<6;i++){ctx.beginPath();ctx.strokeStyle=rc(60,120);ctx.moveTo(rn(0,w),rn(0,h));ctx.lineTo(rn(0,w),rn(0,h));ctx.stroke();}
//  50个干扰点,半径为1的圆for(var i=0;i<50;i++){ctx.beginPath();ctx.arc(rn(0,w),rn(0,h),1,0,2*Math.PI);ctx.fillStyle=rc(0,255);ctx.fill();}
//  随机颜色
function rc(min,max){var r=rn(min,max);var g=rn(min,max);var b=rn(min,max);return `rgb(${r},${g},${b})`;}
//  随机数字function rn(min,max){return Math.floor(Math.random()*(max-min)+min);}</script>
</body>
</html>

 

转载于:https://www.cnblogs.com/liangfc/p/8401325.html

http://www.lbrq.cn/news/2657557.html

相关文章:

  • 如何做合格的新闻网站编辑今日新闻头条最新消息
  • 网站能否做二维码seo排名点击器曝光行者seo
  • 哈尔滨网站建设30t独立站seo怎么做
  • 北京个人网站开发制作seo的优化方案
  • 自己做的网站怎么上传文章seo搜索引擎优化内容
  • 免费动画制作网站品牌建设
  • html企业网站系统品牌设计
  • 淘宝客网站素材百度小说风云榜
  • 做片头网站百度服务中心电话
  • 网站的所有权东莞网站推广排名
  • 扬州哪里做网站好软件推广平台
  • 自助建网站专业seo服务商
  • 做网站买服务器简单免费制作手机网站
  • 在美国建设网站百度推广的广告真实可信吗
  • 怎么做百度网站线上线下一体化营销
  • 南宁 网站建设 制作百度广告怎么收费标准
  • 做网站建设哪家公司好今日头条极速版官网
  • 遨翔网站建设程序员培训班要多少钱
  • 武汉做网站建设抖音视频排名优化
  • 华企网站建设推广优化北京网站推广服务
  • 国内可以做网页的网站电商运营培训大概多少学费
  • 外贸网站建设系统游戏推广赚佣金平台
  • 连云港专业网站优化2022年最新新闻播报稿件
  • 国产做性直播视频网站友情链接网站免费
  • 营销网站建设推广成都网站快速排名优化
  • 东莞公司建设网站销售管理系统
  • 百度网站标题营销方式和渠道
  • 怎么建设素材网站免费网站提交入口
  • 洛阳企业网站建设视频号的链接在哪
  • 云南网站建设百度官方百度竞价返点一般多少
  • Vue 事件冒泡处理指南:从入门到精通
  • C++虚函数表实现机制以及用C语言对其进行的模拟实现(加入了自己的思考和笔记)
  • Java 时间和空间复杂度
  • 谷歌搜索 sg_ss 逆向分析
  • imx6ull-驱动开发篇16——信号量与互斥体
  • 常用信号深度解析(SIGINT、SIGPIPE、SIGALRM、SIGTERM等)