微信小程序实现电子签名功能
网络编程 2021-07-04 14:06www.168986.cn编程入门
这篇文章主要为大家详细介绍了微信小程序实现电子签名功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了微信小程序实现电子签名的具体代码,供大家参考,具体内容如下
// XXXX.wxml <view class="signName"> <canvas class="canvas" id="canvas" canvas-id="canvas" disable-scroll="true" bindtouchstart="canvasStart" bindtouchmove="canvasMove" bindtouchend="canvasEnd" touchcancel="canvasEnd" binderror="canvasIdErrorCallback"></canvas> </view> <view class="CList flex"> <view class="flex_item marginR20" > <view class="saveBtn" bindtap="uploadImg">上传签名</view> </view> <view class="flex_item"> <view class="clearBtn" bindtap="cleardraw">清除签名</view> </view>
js:
var context = null;// 使用 wx.createContext 获取绘图上下文 context var isButtonDown = false;//是否在绘制中 var arrx = [];//动作横坐标 var arry = [];//动作纵坐标 var arrz = [];//总做状态,标识按下到抬起的一个组合 var canvasw = 0;//画布宽度 var canvash = 0;//画布高度 Page({ data: { }, onLoad: function () { this.startCanvas(); }, / 以下 - 手写签名 / 上传签名 / startCanvas: function () {//画布初始化执行 var that = this; //获取系统信息 wx.getSystemInfo({ suess: function (res) { canvasw = res.windowWidth; canvash = res.windowHeight; that.setData({ canvasw: canvasw }); that.setData({ canvash: canvash }); } }); this.initCanvas(); this.cleardraw(); }, //初始化函数 initCanvas: function () { context = wx.createCanvasContext('canvas'); context.beginPath() context.fillStyle = 'rgba(255, 255, 255, 0)'; context.setStrokeStyle('#000000'); context.setLineWidth(4); context.setLineCap('round'); context.setLineJoin('round'); }, canvasStart: function (event) { isButtonDown = true; arrz.push(0); arrx.push(event.changedTouches[0].x); arry.push(event.changedTouches[0].y); }, canvasMove: function (event) { if (isButtonDown) { arrz.push(1); arrx.push(event.changedTouches[0].x); arry.push(event.changedTouches[0].y); } for (var i = 0; i < arrx.length; i++) { if (arrz[i] == 0) { context.moveTo(arrx[i], arry[i]) } else { context.lineTo(arrx[i], arry[i]) } } context.clearRect(0, 0, canvasw, canvash); context.setStrokeStyle('#000000'); context.setLineWidth(4); context.setLineCap('round'); context.setLineJoin('round'); context.stroke(); context.draw(false); }, canvasEnd: function (event) { isButtonDown = false; }, //清除画布 cleardraw: function () { arrx = []; arry = []; arrz = []; context.clearRect(0, 0, canvasw, canvash); context.draw(true); }, uploadImg(){ var that = this //生成图片 wx.canvasToTempFilePath({ canvasId: 'canvas', //设置输出图片的宽高 // destWidth:150, // destHeight:150, // fileType:'jpg', quality:1.0, suess: function (res) { console.log(res) // canvas图片地址 res.tempFilePath }, fail: function () { wx.showModal({ title: '提示', content: 'canvas生成图片失败。微信当前版本不支持,请更新到最新版本!', showCancel: false }); }, plete: function () {} }) }, })
为大家推荐现在关注度比较高的微信小程序教程一篇长沙网络推广为大家精心整理的,希望喜欢。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南