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

 更新时间:2017年01月06日 14:51:24   投稿:lqh  
这篇文章主要介绍了微信小程序 二维码canvas绘制实例详解的相关资料,这里附有实例代码,微信小程序 使用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,不要带单位就可以了

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

相关文章

  • websocket心跳重连实现探索(npm:websocket-heartbeat-js)

    websocket心跳重连实现探索(npm:websocket-heartbeat-js)

    这篇文章主要为大家介绍了websocket心跳重连实现探索(npm:websocket-heartbeat-js),有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • async-await消灭异步回调实例详解

    async-await消灭异步回调实例详解

    这篇文章主要为大家介绍了async-await消灭异步回调实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Evil.js项目源码解读

    Evil.js项目源码解读

    这篇文章主要为大家介绍了最近火爆全网的 Evil.js 源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • 微信小程序 动态传参实例详解

    微信小程序 动态传参实例详解

    这篇文章主要介绍了微信小程序 动态传参实例详解的相关资料,需要的朋友可以参考下
    2017-04-04
  • 微信小程序 后台https域名绑定和免费的https证书申请详解

    微信小程序 后台https域名绑定和免费的https证书申请详解

    这篇文章主要介绍了微信小程序 后台https域名绑定和免费的https证书申请详解的相关资料,需要的朋友可以参考下
    2016-11-11
  • JS实现页面炫酷的时钟特效示例

    JS实现页面炫酷的时钟特效示例

    这篇文章主要为大家介绍了JS实现页面炫酷的时钟特效示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • JS前端接口请求参数混淆方案分享

    JS前端接口请求参数混淆方案分享

    这篇文章主要为大家介绍了JS前端接口请求参数混淆方案分享,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • JS面试之异步模拟超时重传机制详解

    JS面试之异步模拟超时重传机制详解

    这篇文章主要为大家介绍了JS面试之异步模拟超时重传机制详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • 微信小程序 数组(增,删,改,查)等操作实例详解

    微信小程序 数组(增,删,改,查)等操作实例详解

    这篇文章主要介绍了微信小程序 数组(增,删,改,查)等操作实例详解的相关资料,这里对小程序的数组进行操作,简单实例,需要的朋友可以参考下
    2017-01-01
  • JS 基本概念详细介绍

    JS 基本概念详细介绍

    这篇文章主要介绍JS 基本概念,对于初学者来说,Javascript 乍一看似乎很容易,因为它的类似于 C 的语法,但不管它的运行方式如何,对语言 (ESNext) 及其框架所做的不断变化可能会让初学者不知所措。下面我们就来看JS 初学者怎么入门吧
    2021-10-10

最新评论