中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序實現電子簽名功能的方法

發布時間:2020-07-30 10:12:27 來源:億速云 閱讀:611 作者:小豬 欄目:開發技術

這篇文章主要講解了微信小程序實現電子簽名功能的方法,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

// 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({
   success: 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,
   success: function (res) {
    console.log(res)
    // canvas圖片地址 res.tempFilePath
   },
   fail: function () {
    wx.showModal({
     title: '提示',
     content: 'canvas生成圖片失敗。微信當前版本不支持,請更新到最新版本!',
     showCancel: false
    });
   },
   complete: function () {}
  })
 },
})

看完上述內容,是不是對微信小程序實現電子簽名功能的方法有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安乡县| 宁津县| 兴城市| 淮安市| 郯城县| 黄大仙区| 和政县| 大姚县| 潍坊市| 万安县| 榕江县| 庆元县| 五寨县| 拉萨市| 南汇区| 娄底市| 河东区| 安徽省| 巴彦淖尔市| 罗源县| 西畴县| 陇川县| 浦县| 广东省| 山东省| 凤阳县| 古丈县| 封丘县| 青浦区| 东城区| 万山特区| 天全县| 淮北市| 调兵山市| 庄浪县| 安岳县| 丰镇市| 巴中市| 永丰县| 澎湖县| 齐齐哈尔市|