麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 課堂 > 小程序 > 正文

微信小程序實現手指觸摸畫板

2020-03-21 16:14:53
字體:
來源:轉載
供稿:網友

本文實例為大家分享了微信小程序實現手指觸摸畫板的具體代碼,供大家參考,具體內容如下

先看效果圖:

微信小程序,畫板

wxml

<!--pages/shouxieban/shouxieban.wxml--><view class="container"> <view>手寫板(請在下方區域手寫內容)</view> <canvas style="width: {{canvasw}}px; height: {{canvash}}px" class="canvas" id="canvas" canvas-id="canvas" disable-scroll="true" bindtouchstart="canvasStart" bindtouchmove="canvasMove" bindtouchend="canvasEnd" touchcancel="canvasEnd" binderror="canvasIdErrorCallback"></canvas> <view class='btns canvaspd'> <button bindtap="cleardraw">清除畫板</button> <button bindtap="setSign">確定</button> </view> <image src='{{canvasimgsrc}}'></image> </view>

js

var context = null;// 使用 wx.createContext 獲取繪圖上下文 contextvar isButtonDown = false;//是否在繪制中var arrx = [];//動作橫坐標var arry = [];//動作縱坐標var arrz = [];//總做狀態,標識按下到抬起的一個組合var canvasw = 0;//畫布寬度var canvash = 0;//畫布高度// pages/shouxieban/shouxieban.jsPage({ /** * 頁面的初始數據 */ data: { //canvas寬高 canvasw: 0, canvash: 0, //canvas生成的圖片路徑 canvasimgsrc: "" }, //畫布初始化執行 startCanvas: function () { var that = this; //創建canvas this.initCanvas(); //獲取系統信息 wx.getSystemInfo({  success: function (res) {  canvasw = res.windowWidth - 0;//設備寬度  canvash = canvasw;  that.setData({ 'canvasw': canvasw });  that.setData({ 'canvash': canvash });  } });  }, //初始化函數 initCanvas: function () { // 使用 wx.createContext 獲取繪圖上下文 context context = wx.createCanvasContext('canvas'); context.beginPath() context.setStrokeStyle('#000000'); context.setLineWidth(4); context.setLineCap('round'); context.setLineJoin('round'); }, //事件監聽 canvasIdErrorCallback: function (e) { console.error(e.detail.errMsg) }, 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); }, //提交簽名內容 setSign: function () { var that = this; if (arrx.length == 0) {  wx.showModal({  title: '提示',  content: '簽名內容不能為空!',  showCancel: false  });  return false; }; console.log("不是空的,canvas即將生成圖片") //生成圖片 wx.canvasToTempFilePath({  canvasId: 'canvas',  success: function (res) {  console.log("canvas可以生成圖片")  console.log(res.tempFilePath, 'canvas圖片地址');  that.setData({ canvasimgsrc: res.tempFilePath })  //code 比如上傳操作   },  fail: function () {  console.log("canvas不可以生成圖片")  wx.showModal({   title: '提示',   content: '微信當前版本不支持,請更新到最新版本!',   showCancel: false  });  },  complete: function () {   } })  }, /** * 生命周期函數--監聽頁面加載 */ onLoad: function (options) { //畫布初始化執行 this.startCanvas();  }})

css

/* pages/shouxieban/shouxieban.wxss *//*手寫板 */page{ background: #f6f6f6; padding: 5px auto}canvas{ border: 1px solid #d0d0d0; margin: 5rpx; background: #f2f2f2}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 911精品影院在线观看 | 四季久久免费一区二区三区四区 | 精品一区二区三区在线播放 | 精品亚洲一区二区三区 | 久草在线公开视频 | 久久国产精品免费视频 | 亚洲导航深夜福利涩涩屋 | 成人福利免费在线观看 | 国产精品一区在线免费观看 | 国产一区二区三区四区波多野结衣 | 中文在线观看视频 | 成人免费观看毛片 | 特级a欧美做爰片毛片 | 黄色的视频在线观看 | 久章草影院 | 久久久久北条麻妃免费看 | 99激情视频| v11av在线播放 | 欧美性生活视频免费看 | 国产一区二区三区四 | 亚洲自拍第二页 | 国产精品观看在线亚洲人成网 | 九九视频在线观看黄 | 一级性色 | 久久精品视频16 | 亚洲四播房| 久久久久久亚洲综合影院红桃 | 亚洲一二区视频 | 久久毛片免费 | 狠狠操操 | 久草在线视频免费播放 | 欧美激情999 | 日韩精品久久久久久久九岛 | 国产精品麻豆91 | 7777在线视频免费播放 | 免费一级a毛片在线播放视 日日草夜夜操 | 一区二区三区国产视频 | 91热久久免费频精品黑人99 | 精品亚洲va在线va天堂资源站 | 欧美日韩在线视频一区 | 欧美日韩亚洲国产精品 |