国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

微信小程序canvas寫(xiě)字板效果及實(shí)例

2019-11-19 16:19:48
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

微信小程序canvas寫(xiě)字板效果及實(shí)例

寫(xiě)字板效果:書(shū)寫(xiě)文字,畫(huà)板重置,導(dǎo)出圖片,導(dǎo)出圖片前判斷是否書(shū)寫(xiě)內(nèi)容

app.json:

添加一個(gè)路由:"pages/canvas/canvas"

{ "pages":[  "pages/index/index",  "pages/logs/logs",  "pages/canvas/canvas" ], "window":{  "navigationBarBackgroundColor": "#ea6a46",  "navigationBarTextStyle":"white",  "navigationBarTitleText": "寫(xiě)字板",  "backgroundTextStyle":"dark",  "backgroundColor":"white",  "enablePullDownRefresh":"true" }}

然后就是:

canvas.wxml:

<!--pages/canvas/canvas.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>

canvas.js:

// canvas 全局配置var context = null;// 使用 wx.createContext 獲取繪圖上下文 contextvar 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.windowWidth*7/15; }});//注冊(cè)頁(yè)面Page({ 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);  //context.moveTo(event.changedTouches[0].x, event.changedTouches[0].y);   }, canvasMove: function (event) {  if (isButtonDown) {   arrz.push(1);   arrx.push(event.changedTouches[0].x);   arry.push(event.changedTouches[0].y);   // context.lineTo(event.changedTouches[0].x, event.changedTouches[0].y);   // context.stroke();   // context.draw()  };     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.stroke();    context.draw(true); }, canvasEnd: function (event) {  isButtonDown = false;  }, cleardraw: function () {  //清除畫(huà)布  arrx = [];  arry = [];  arrz = [];  context.clearRect(0, 0, canvasw, canvash);  context.draw(true); }, getimg: function(){  if (arrx.length==0){   wx.showModal({    title: '提示',    content: '簽名內(nèi)容不能為空!',    showCancel: false   });   return false;  };  //生成圖片  wx.canvasToTempFilePath({   canvasId: 'canvas',   success: function (res) {    console.log(res.tempFilePath);    //存入服務(wù)器    wx.uploadFile({     url: 'a.php', //接口地址     filePath: res.tempFilePath,     name: 'file',     formData: {                 //HTTP 請(qǐng)求中其他額外的 form data       'user': 'test'     },     success: function (res) {      console.log(res);     },     fail: function (res) {      console.log(res);     },     complete: function (res) {           }    });   }  }) }, /**  * 頁(yè)面的初始數(shù)據(jù)  */ data: {  src: "" }, /**  * 生命周期函數(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'); }}) 

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 枣阳市| 保山市| 广饶县| 齐河县| 沙田区| 成安县| 通山县| 苍南县| 上杭县| 乐东| 晋州市| 晴隆县| 高雄市| 新田县| 宝山区| 夹江县| 安康市| 财经| 淮安市| 阜南县| 枣强县| 五大连池市| 曲阳县| 开远市| 肃南| 清丰县| 桓台县| 昌宁县| 鄂托克前旗| 庆元县| 兴义市| 伊宁市| 历史| 通渭县| 巢湖市| 红河县| 铜鼓县| 微博| 盐源县| 牡丹江市| 贵德县|