微信小程序 二维码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 相关文章推荐
多浏览器支持的右下角浮动窗口
Apr 01 Javascript
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
Sep 22 Javascript
javascript中的delete使用详解
Apr 11 Javascript
JavaScript中常见获取元素的方法汇总
Mar 04 Javascript
js获取微信版本号的方法
May 12 Javascript
js中动态创建json,动态为json添加属性、属性值的实例
Dec 02 Javascript
angular中ui calendar的一些使用心得(推荐)
Nov 03 Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
Feb 13 jQuery
深入浅析Vue中的 computed 和 watch
Jun 06 Javascript
小程序页面动态配置实现方法
Feb 05 Javascript
js实现车辆管理系统
Aug 26 Javascript
原型和原型链 prototype和proto的区别详情
Nov 02 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
Windows下的PHP5.0详解
2006/11/18 PHP
PHP开发负载均衡指南
2010/07/17 PHP
php计算2个日期的差值函数分享
2015/02/02 PHP
PHP常用工具类大全附全部代码下载
2015/12/07 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
PHP token验证生成原理实例分析
2019/06/05 PHP
json-lib出现There is a cycle in the hierarchy解决办法
2010/02/24 Javascript
javascript通过class来获取元素实现代码
2013/02/20 Javascript
Document:getElementsByName()使用方法及示例
2013/10/28 Javascript
javascript定时器完整实例
2015/02/10 Javascript
jQuery实现列表内容的动态载入特效
2015/08/08 Javascript
javascript验证手机号和实现星号(*)代替实例
2016/08/16 Javascript
JS创建对象的写法示例
2016/11/04 Javascript
JS html时钟制作代码分享
2017/03/03 Javascript
JavaScript 巧学巧用
2017/05/23 Javascript
laravel5.4+vue+element简单搭建的示例代码
2017/08/29 Javascript
使用JS实现图片轮播的实例(前后首尾相接)
2017/09/21 Javascript
ES6 javascript中class类的get与set用法实例分析
2017/10/30 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
JS限制输入框输入的实现代码
2018/07/02 Javascript
js replace替换字符串同时替换多个方法
2018/11/27 Javascript
js module大战
2019/04/19 Javascript
Django组件cookie与session的具体使用
2019/06/05 Python
Python使用Pandas对csv文件进行数据处理的方法
2019/08/01 Python
python求加权平均值的实例(附纯python写法)
2019/08/22 Python
python lambda表达式(匿名函数)写法解析
2019/09/16 Python
wxPython色环电阻计算器
2019/11/18 Python
python+OpenCV实现图像拼接
2020/03/05 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
将pymysql获取到的数据类型是tuple转化为pandas方式
2020/05/15 Python
如何理解Python中包的引入
2020/05/29 Python
Python命名空间namespace及作用域原理解析
2020/06/05 Python
微软香港官网及网上商店:Microsoft HK
2016/09/01 全球购物
伦敦剧院及景点门票:Encore Tickets
2018/07/01 全球购物
2014新年寄语
2014/01/20 职场文书
html中两种获取标签内的值的方法
2022/06/10 HTML / CSS