成都网站建设设计

将想法与焦点和您一起共享

微信小程序实现电子签名并导出图片的方法

这篇文章主要讲解了微信小程序实现电子签名并导出图片的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

创新互联建站专注于企业成都全网营销、网站重做改版、裕华网站定制设计、自适应品牌网站建设、HTML5建站商城网站开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为裕华等各大城市提供网站开发制作服务。

wxml:




wxss:

.canvas {
 width: 100%;
 min-height: 400rpx;
 border: 1rpx solid #000;  /*//突出canvas画布范围 */
 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;
//获取系统信息
wx.getSystemInfo({
 success: function (res) {
  canvasw = res.windowWidth;//设备宽度
  canvash = res.windowHeight; //设备高度
 }
});

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);
 },
 //绘制过程
 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);
 },
 //导出图片
 getimg: function () {
  if (arrx.length == 0) {
   wx.showModal({
    title: '提示',
    content: '签名内容不能为空!',
    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)
     }
    })
    //将照片存入服务器
    // 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) {
    //  }
    // });
   }
  })

 },
 /**
  * 页面的初始数据
  */
 data: {
  
 },
 /**
  * 生命周期函数--监听页面加载
  */
 onLoad: function (options) {
  // 使用 wx.createContext 获取绘图上下文 context
  context = wx.createCanvasContext('canvas');
  context.beginPath()
  context.setStrokeStyle('#000000');
  context.setLineWidth(4);
  context.setLineCap('round');
  context.setLineJoin('round');
 }
})

看完上述内容,是不是对微信小程序实现电子签名并导出图片的方法有进一步的了解,如果还想学习更多内容,欢迎关注创新互联行业资讯频道。


当前文章:微信小程序实现电子签名并导出图片的方法
转载注明:http://chengdu.cdxwcx.cn/article/iipiod.html