微信小程序 二维码canvas绘制实例详解


Posted in Javascript onJanuary 06, 2017

微信小程序 二维码canvas绘制

微信小程序 二维码canvas绘制实例详解

var canvas = {

  width: 100,

  height:36

};

function verification(ctx) {




  // //清空画布

  ctx.clearRect(0, 0, canvas.width, canvas.height);

  // //生成随机颜色

  function getRandomColor() {

    return "#" + ("00000" + ((Math.random() * 16777215 + 0.5) >> 0).toString(16)).slice(-6);

  }

  // //定义线性渐变

  var gradient = ctx.createLinearGradient(0, 0, canvas.width, canvas.height);

  gradient.addColorStop("0", getRandomColor());

  gradient.addColorStop("0.5", getRandomColor());

  gradient.addColorStop("1.0", getRandomColor());




  // //生成随机数

  function rnd(min, max) {

    return min + Math.floor(Math.random() * (max - min + 1));

  }




  // //绘制干扰线条

  function line() {

    ctx.beginPath();

    ctx.moveTo(rnd(0, canvas.width), rnd(0, canvas.height));

    ctx.lineTo(rnd(0, canvas.width), rnd(0, canvas.height));

    ctx.closePath();

    ctx.lineWidth = rnd(1, 3);

    ctx.setFillStyle(gradient)

    ctx.stroke();

  }




  // //绘制干扰点

  function point() {

    ctx.fillRect(rnd(0, canvas.width), rnd(0, canvas.height), 2, 2);

  }




  // //绘制验证码

  var text = rnd(1000, 9999);

  ctx.setFontSize(30)

  ctx.setFillStyle(gradient)

  ctx.fillText(text,2, 25);




  // //生成干扰元素

  for (var i = 0; i < 8; i++) {

    line();

  }

  for (var i = 0; i <100; i++) {

    point();

  }

  ctx.draw()

  return text;

}

module.exports = { verification: verification };

上面直接放在一个js中吧方法暴露出来就可以了,顺便说一下关于 样式的问题,因为没必要再去写一篇了,样式:padding ,

以前在html页面上我有时候习惯padding:0px,这样设置为0,但是在小程序中写成padding:0rpx,仍会有内边距存在,写成padding:0,不要带单位就可以了

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
两个Javascript小tip资料
Nov 23 Javascript
jquery()函数的三种语法介绍
Oct 09 Javascript
javascript中的if语句使用介绍
Nov 20 Javascript
JS实现文字向下滚动完整实例
Feb 06 Javascript
jquery中ready()函数执行的时机和window的load事件比较
Jun 22 Javascript
JS实现的颜色实时渐变效果完整实例
Mar 25 Javascript
jQuery validate验证插件使用详解
May 11 Javascript
关于Node.js的events.EventEmitter用法介绍
Apr 01 Javascript
基于vue2.x的电商图片放大镜插件的使用
Jan 22 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
Dec 10 Javascript
jQuery实现颜色打字机的完整代码
Mar 19 jQuery
JS实现进度条动态加载特效
Mar 25 Javascript
微信小程序 小程序制作及动画(animation样式)详解
Jan 06 #Javascript
JS调用Android、Ios原生控件
Jan 06 #Javascript
JS正则匹配中文的方法示例
Jan 06 #Javascript
JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)
Jan 06 #Javascript
JS获取多维数组中相同键的值实现方法示例
Jan 06 #Javascript
JavaScript用JSONP跨域请求数据实例详解
Jan 06 #Javascript
js实现前端分页页码管理
Jan 06 #Javascript
You might like
PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
2009/01/30 PHP
ezSQL PHP数据库操作类库
2010/05/16 PHP
PHP6连接SQLServer2005的三部曲
2016/04/15 PHP
完美解决在ThinkPHP控制器中命名空间的问题
2017/05/05 PHP
关于JavaScript的gzip静态压缩方法
2007/01/05 Javascript
简单实例处理url特殊符号&amp;处理(2种方法)
2013/04/02 Javascript
js自动生成对象的属性示例代码
2013/10/28 Javascript
js实现弹出窗口、页面变成灰色并不可操作的例子分享
2014/05/10 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
2015/04/12 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
2015/09/20 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
checkbox批量选中,获取选中项的值的简单实例
2016/06/28 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
2016/07/05 Javascript
javascript回到顶部特效
2016/07/30 Javascript
JavaScript组件开发之输入框加候选框
2017/03/10 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
JS随机数产生代码分享
2018/02/24 Javascript
微信小程序实现时间预约功能
2018/11/27 Javascript
vue element动态渲染、移除表单并添加验证的实现
2019/01/16 Javascript
浅谈监听单选框radio改变事件(和layui中单选按钮改变事件)
2019/09/10 Javascript
vue项目在线上服务器访问失败原因分析
2020/08/14 Javascript
python文件与目录操作实例详解
2016/02/22 Python
Python实现感知器模型、两层神经网络
2017/12/19 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
浅谈Python中的全局锁(GIL)问题
2019/01/11 Python
在python 不同时区之间的差值与转换方法
2019/01/14 Python
十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)
2019/04/26 Python
CSS3 Backgrounds属性相关介绍
2011/05/11 HTML / CSS
Canvas 像素处理之改变透明度的实现代码
2019/01/08 HTML / CSS
皇家道尔顿官网:Royal Doulton
2017/12/06 全球购物
英文求职信写作小建议
2014/02/16 职场文书
土建专业大学生自荐信范文
2014/04/09 职场文书
仓库规划计划书
2014/04/28 职场文书
公司总经理助理岗位职责
2014/07/09 职场文书
分享:关于学习的励志名言赏析
2019/08/16 职场文书
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
2021/05/31 Python