当前位置: 首页 > 编程笔记 >

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

公羊浩阔
2023-03-14
本文向大家介绍微信小程序 二维码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,不要带单位就可以了

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

 类似资料:
  • 本文向大家介绍微信小程序 获取二维码实例详解,包括了微信小程序 获取二维码实例详解的使用技巧和注意事项,需要的朋友参考一下  微信小程序 获取二维码实例详解 理论: 接口A: 适用于需要的码数量较少的业务场景 接口地址:(永久有效,数量有限,进入path对应的页面) 接口B:适用于需要的码数量极多,或仅临时使用的业务场景(永久有效,数量暂无限制,将统一打开首页) 接口C:适用于需要的码数量较少的业

  • 本文向大家介绍微信小程序扫描二维码获取信息实例详解,包括了微信小程序扫描二维码获取信息实例详解的使用技巧和注意事项,需要的朋友参考一下 1.最简单的扫二维码获得信息。 首先,在网上找一个二维码生成网站,生成一个二维码,我用的是草料二维码,随便生成了一个二维码做测试。 就这个。 我搭建的界面如下: 如图可见,点击1中的“点我扫一扫”,可以扫二维码,扫错了如2所示,扫对了如3所示。“你傻不傻啊?”就是

  • 本文向大家介绍微信小程序 使用canvas制作K线实例详解,包括了微信小程序 使用canvas制作K线实例详解的使用技巧和注意事项,需要的朋友参考一下 微信小程序 使用canvas制作K线 实现效果图: 前言: 我们目的是想要一条平滑的曲线来表示均线等,而不是一条转折点明显的折线。因此还得继续探索api。我们发现,在canvas API中,能够画出曲线的有2个 这两个api都是通过贝塞尔曲线来绘制

  • 本文向大家介绍详解微信小程序-canvas绘制文字实现自动换行,包括了详解微信小程序-canvas绘制文字实现自动换行的使用技巧和注意事项,需要的朋友参考一下 在使用微信小程序canvas绘制文字时,时常会遇到这样的问题:因为canvasContext.fillText参数为 我们只能设置文本的最大宽度,这就产生一定的了问题。如果我们绘制的文本长度不确定或者我们希望文本超出自动换行或者用省略号表示

  • 本文向大家介绍详解微信小程序canvas圆角矩形的绘制的方法,包括了详解微信小程序canvas圆角矩形的绘制的方法的使用技巧和注意事项,需要的朋友参考一下 微信小程序允许对普通元素通过 border-radius 的设置来进行圆角的绘制,但有时候在使用 canvas 绘图的时候,也需要圆角,例如需要将页面上某块区域导出为图片下载到本地的时候,常用的解决方法就是使用 canvas 将这块区域绘制出来

  • 本文向大家介绍微信小程序 Canvas增强组件实例详解及源码分享,包括了微信小程序 Canvas增强组件实例详解及源码分享的使用技巧和注意事项,需要的朋友参考一下 WeZRender是一个微信小程序Canvas增强组件,基于HTML5 Canvas类库ZRender。 使用 WXML: JS: 特性 数据驱动 利用WeZRender绘图,只需定义图形数据。 丰富的图形选项 内置多种图形元素(圆形、