微信小程序 二维码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 相关文章推荐
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
Jul 04 Javascript
jQuery版本升级踩坑大全
Jan 12 Javascript
JQuery核心函数是什么及使用方法介绍
May 03 Javascript
使用three.js 画渐变的直线
Jun 05 Javascript
JS+CSS3实现超炫的散列画廊特效
Jul 16 Javascript
AngularJs定制样式插入到ueditor中的问题小结
Aug 01 Javascript
jquery写出PC端轮播图实例
Jan 26 jQuery
3种vue路由传参的基本模式
Feb 22 Javascript
react 创建单例组件的方法
Apr 26 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
Apr 09 Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
Sep 23 Javascript
js判断浏览器的环境(pc端,移动端,还是微信浏览器)
Dec 24 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版
2012/04/20 PHP
详解php框架Yaf路由重写
2017/06/20 PHP
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
2011/10/12 Javascript
查看源码的工具 学习jQuery源码不错的工具
2011/12/26 Javascript
javascript 基础篇3 类,回调函数,内置对象,事件处理
2012/03/14 Javascript
js关于精确计算和数值格式化以及直接引js文件
2014/01/28 Javascript
raphael.js绘制中国地图 地图绘制方法
2014/02/12 Javascript
编写高效jQuery代码的4个原则和5个技巧
2014/04/24 Javascript
JS遍历Json字符串中键值对先转成JSON对象再遍历
2014/08/15 Javascript
js实现不提交表单获取单选按钮值的方法
2015/08/21 Javascript
jQuery实现类似标签风格的导航菜单效果代码
2015/08/25 Javascript
AngularJS实现一次监听多个值发生的变化
2016/08/31 Javascript
使用JS读取XML文件的方法
2016/11/25 Javascript
ajax +NodeJS 实现图片上传实例
2017/06/06 NodeJs
JavaScript事件方法(实例讲解)
2017/06/27 Javascript
Nginx 配置多站点vhost 的方法
2018/01/07 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
2019/02/19 jQuery
layui加载数据显示loading加载完成loading消失的实例代码
2019/09/23 Javascript
详解vue3中组件的非兼容变更
2021/03/03 Vue.js
python实现图片批量剪切示例
2014/03/25 Python
Python函数中*args和**kwargs来传递变长参数的用法
2016/01/26 Python
基于Python函数的作用域规则和闭包(详解)
2017/11/29 Python
Flask框架Jinjia模板常用语法总结
2018/07/19 Python
Python autoescape标签用法解析
2020/01/17 Python
如何更换python默认编辑器的背景色
2020/08/10 Python
html5 自定义播放器核心代码
2013/12/20 HTML / CSS
泰国办公用品购物网站:OfficeMate
2018/02/04 全球购物
贝尔帐篷精品店:Bell Tent Boutique
2019/06/12 全球购物
美国室内盆栽植物购买网站:Plants.com
2020/04/24 全球购物
求网格中的黑点分布
2013/11/06 面试题
学院书画协会部门岗位职责
2013/12/01 职场文书
在职证明书模板
2015/06/15 职场文书
中国梦党课学习心得体会
2016/01/05 职场文书
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python
Redis分布式锁的7种实现
2022/04/01 Redis
Mysql如何查看是否使用到索引
2022/12/24 MySQL