您好,登錄后才能下訂單哦!
這篇文章主要講解了微信小程序?qū)崿F(xiàn)電子簽名并導(dǎo)出圖片的方法,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。
wxml:
<canvas class="canvas" id="canvas" canvas-id="canvas" disable-scroll="true" bindtouchstart="canvasStart" bindtouchmove="canvasMove" bindtouchend="canvasEnd" touchcancel="canvasEnd" binderror="canvasIdErrorCallback"></canvas> <button type="default" bindtap="cleardraw">清除畫(huà)布</button> <button type="default" bindtap="getimg">導(dǎo)出圖片</button>
wxss:
.canvas { width: 100%; min-height: 400rpx; border: 1rpx solid #000; /*//突出canvas畫(huà)布范圍 */ box-sizing: border-box; }
js:
var context = null;// 使用 wx.createContext 獲取繪圖上下文 var isButtonDown = false; var arrx = []; var arry = []; var arrz = []; var canvasw = 0; var canvash = 0; //獲取系統(tǒng)信息 wx.getSystemInfo({ success: function (res) { canvasw = res.windowWidth;//設(shè)備寬度 canvash = res.windowHeight; //設(shè)備高度 } }); Page({ canvasIdErrorCallback: function (e) { console.error(e.detail.errMsg) }, //繪制開(kāi)始 canvasStart: function (event) { isButtonDown = true; arrz.push(0); arrx.push(event.changedTouches[0].x); arry.push(event.changedTouches[0].y); }, //繪制過(guò)程 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 () { //清除畫(huà)布 arrx = []; arry = []; arrz = []; context.clearRect(0, 0, canvasw, canvash); context.draw(true); }, //導(dǎo)出圖片 getimg: function () { if (arrx.length == 0) { wx.showModal({ title: '提示', content: '簽名內(nèi)容不能為空!', showCancel: false }); return false; }; //生成圖片 wx.canvasToTempFilePath({ canvasId: 'canvas', success: function (res) { wx.saveImageToPhotosAlbum({ filePath: res.tempFilePath, success(res) { // console.log(res) wx.showToast({ title: '保存成功', }); }, fail(err) { console.log(err) } }) //將照片存入服務(wù)器 // wx.uploadFile({ // url: '', //接口地址 // filePath: res.tempFilePath, // name: 'file', // formData: { // 'user': 'test' // }, // success function (res) { // console.log(res); // }, // fail: function (res) { // console.log(res); // }, // complete: function (res) { // } // }); } }) }, /** * 頁(yè)面的初始數(shù)據(jù) */ data: { }, /** * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面加載 */ onLoad: function (options) { // 使用 wx.createContext 獲取繪圖上下文 context context = wx.createCanvasContext('canvas'); context.beginPath() context.setStrokeStyle('#000000'); context.setLineWidth(4); context.setLineCap('round'); context.setLineJoin('round'); } })
看完上述內(nèi)容,是不是對(duì)微信小程序?qū)崿F(xiàn)電子簽名并導(dǎo)出圖片的方法有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。