iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >微信小程序实现手写签名
  • 220
分享到

微信小程序实现手写签名

2024-04-02 19:04:59 220人浏览 安东尼
摘要

本文实例为大家分享了微信小程序实现手写签名的具体代码,供大家参考,具体内容如下 本示例具备的功能: 1、笔迹绘制 2、笔迹清空 以下是js代码: var content = null

本文实例为大家分享了微信小程序实现手写签名的具体代码,供大家参考,具体内容如下

本示例具备的功能:

1、笔迹绘制

2、笔迹清空

以下是js代码:

var content = null;
var touchs = [];
var canvasw = 0;
var canvash = 0;
var that = null;
 
Page({
  
  data: {
    
  },
  // 画布的触摸移动开始手势响应
  start: function(event) {
    // console.log("触摸开始" + event.changedTouches[0].y)
    // console.log("触摸开始" + event.changedTouches[0].x)
    //获取触摸开始的 x,y
    let point = {
      x: event.changedTouches[0].y,
      y: event.changedTouches[0].x
    }
    touchs.push(point)
  },
 
  // 画布的触摸移动手势响应
  move: function(e) {
    let point = {
      x: e.touches[0].y,
      y: e.touches[0].x
    }
    touchs.push(point)
    if (touchs.length >= 2) {
      this.draw(touchs)
    }
  },
 
  // 画布的触摸移动结束手势响应
  end: function(e) {
    // console.log("触摸结束" + e)
    //清空轨迹数组
    for (let i = 0; i < touchs.length; i++) {
      touchs.pop()
    }
 
  },
 
  
  onLoad: function(options) {
    that = this
    //获得Canvas的上下文
    content = wx.createCanvasContext('firstCanvas')
    //设置线的颜色
    content.setStrokeStyle("#000")
    //设置线的宽度
    content.setLineWidth(5)
    //设置线两端端点样式更加圆润
    content.setLineCap('round')
    //设置两条线连接处更加圆润
    content.setLineJoin('round')
  },
 
  
  onReady: function() {
 
    // 获取画布尺寸
    var query = wx.createSelectorQuery()
    query.select('#canvas').boundinGClientRect()
    query.exec(function(res) {
      canvasw = res[0].width;
      canvash = res[0].height
    })
  },
 
  //绘制
  draw: function(touchs) {
    let point1 = touchs[0]
    let point2 = touchs[1]
    touchs.shift()
    content.moveTo(point1.y, point1.x)
    content.lineTo(point2.y, point2.x)
    content.stroke()
    content.draw(true)
  },
  //清除操作
  clearClick: function() {
    //清除画布
    content.clearRect(0, 0, canvasw, canvash)
    content.draw(true)
  },
  //保存图片
  saveClick: function() {
    var that = this
    wx.canvasToTempFilePath({
      canvasId: 'firstCanvas',
      success: function(res) {
        //打印图片路径
        var path = res.tempFilePath
        //上传图片
        that.uploadSignPic(path)
        console.log(path)
 
 
      }
    })
  },
 
 
  
  uploadSignPic: function(path) {
      //具体实现的业务逻辑
  }
 
})

以下是wxml代码:

<!-- 手写界面 -->
<view class='hand_writing_container'>
  <view class="tips_title">请在区域内进行签名</view>
  <view id="canvas" class="canvas">
    <canvas class='firstCanvas' 
    canvas-id="firstCanvas" 
    bindtouchmove='move' 
    bindtouchstart='start' 
    bindtouchend='end' 
    disable-scroll='true' >
    </canvas>
  </view>
  <view class="btn_container">
    <view class="btn clean" bindtap="clearClick">
      <image src="/image/clear.png"></image>
      <text>内容清除</text>
    </view>
    <view class="btn submit" bindtap="saveClick">
      <image src="/image/submit.png"></image>
      <text>确认提交</text>
    </view>
  </view>
</view>

以下是样式代码:

.hand_writing_container {
  width: 100%;
  padding: 5.503vh 8.1761vh 0;
  box-sizing: border-box;
}
 
.tips_title {
  height: 4.72vh;
  line-height: 4.72vh;
  margin-bottom: 3.459vh;
  font-size: 4.71698vh;
  font-family: Source Han Sans CN;
  font-weight: 500;
  color: rgba(45, 45, 45, 1);
}
 
.canvas {
  width: 100%;
  height: 66.194968vh;
  margin-bottom: 3.7735849vh;
  box-sizing: border-box;
  border: 1rpx dashed black;
}
 
.firstCanvas {
  background-color: white;
  width: 100%;
  height: 100%;
}
 
.btn_container {
  display: flex;
  align-items: center;
  padding: 0 45.44vh;
  box-sizing: border-box;
  justify-content: space-between;
}
 
.btn {
  width: 45.597484vh;
  height: 13.83647798vh;
  padding: 0 11vh;
  box-sizing: border-box;
  border-radius: 1.572327vh;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
 
.btn image {
  flex: 0 0 4.71698vh;
  width: 4.71698vh;
  height: 4.71698vh;
  display: block;
  margin-right: 1.88679vh;
}
 
.btn text {
  flex: 0 0 auto;
  height: 4.717vh;
  line-height: 4.717vh;
  font-size: 4.71698vh;
  font-family: Source Han Sans CN;
  font-weight: 400;
  color: rgba(255, 255, 255, 1);
}
 
.clean {
  background-color: #07c160;
}
 
.submit {
  background-color: #ff3D33;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: 微信小程序实现手写签名

本文链接: https://www.lsjlt.com/news/153817.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 微信小程序实现手写签名
    本文实例为大家分享了微信小程序实现手写签名的具体代码,供大家参考,具体内容如下 本示例具备的功能: 1、笔迹绘制 2、笔迹清空 以下是js代码: var content = null...
    99+
    2024-04-02
  • 微信小程序canvas实现手写签名
    本文实例为大家分享了微信小程序canvas实现手写签名的具体代码,供大家参考,具体内容如下 很多时候,程序中需要用到签名的功能,附上源码(微信小程序) .wxml <view...
    99+
    2024-04-02
  • 微信小程序实现手写签名(签字版)
    本文实例为大家分享了微信小程序实现手写签名的具体代码,供大家参考,具体内容如下 公司近期有个需要用户签名的功能,就用小程序canvas写了个 wxml <view class...
    99+
    2024-04-02
  • 微信小程序怎么实现手写签名
    本文小编为大家详细介绍“微信小程序怎么实现手写签名”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序怎么实现手写签名”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在微信小程序上实现手写签名,获取canva...
    99+
    2023-06-29
  • 微信小程序实现横屏手写签名
    本文实例为大家分享了微信小程序实现横屏手写签名的具体代码,供大家参考,具体内容如下 1.关键配置: "pageOrientation": "landsc...
    99+
    2024-04-02
  • 微信小程序如何实现手写签名
    这篇文章主要介绍了微信小程序如何实现手写签名的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序如何实现手写签名文章都会有所收获,下面我们一起来看看吧。效果wxml<view class=&...
    99+
    2023-07-02
  • 微信小程序实现手写签名的示例代码
    目录1.效果图2.相关代码canvas代码js相关在微信小程序上实现手写签名,获取canvascontext新版本和旧版本有点坑,新版本在获取canvas后如果页面有滑动,则签名坐标...
    99+
    2024-04-02
  • 小程序实现手写签名
    本文实例为大家分享了小程序实现手写签名的具体代码,供大家参考,具体内容如下 方法不是我自己写的,但是也忘记最初的原版出自于哪里了,不过搜索下来就是大同小异,我就附上自己实测有效的!可...
    99+
    2024-04-02
  • 微信小程序怎么实现简单手写签名组件
    这篇文章主要介绍了微信小程序怎么实现简单手写签名组件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序怎么实现简单手写签名组件文章都会有所收获,下面我们一起来看看吧。需求:可以实现用户在微信小程序上手写签...
    99+
    2023-06-08
  • 微信小程序怎么实现一个手写签名组件
    这期内容当中小编将会给大家带来有关微信小程序怎么实现一个手写签名组件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。背景:在做项目过程中,需要在微信小程序中实现手写签名组件。在网上找了微信小程序手写签名实现...
    99+
    2023-06-20
  • 小程序实现手写板签名
    本文实例为大家分享了小程序实现手写板签名的具体代码,供大家参考,具体内容如下 1.wxss代码 page {     background: #F8F8F8; } .qianmin...
    99+
    2024-04-02
  • 微信小程序实现手写板
    本文实例为大家分享了微信小程序实现手写板的具体代码,供大家参考,具体内容如下 <!-- wxml --> <view class="hxt-flex-column...
    99+
    2024-04-02
  • 微信小程序实现电子签名
    本文实例为大家分享了微信小程序实现电子签名的具体代码,供大家参考,具体内容如下 <view class="sign-contain"> <view class...
    99+
    2024-04-02
  • 微信小程序实现简单手写签名组件的方法实例
    目录背景:需求:效果一、思路 二、实现 1. 页面与样式 2. 初始化 3. 点击时 4. 签名时 三、总结 背景: 在做项目过程中,需要在微信小程序中实现手写签名组件。在网上找了微...
    99+
    2024-04-02
  • 小程序实现手写签名功能
    小程序利用canvas实现手写签名,供大家参考,具体内容如下 设置小程序横屏 在page.json或对应页面 .json文件中设置landscape代表固定横屏 "pageOrie...
    99+
    2024-04-02
  • 微信小程序用canvas实现电子签名
    本文实例为大家分享了微信小程序用canvas实现电子签名的具体代码,供大家参考,具体内容如下 <view class="sign-contain">     <vi...
    99+
    2024-04-02
  • 微信小程序怎么实现电子签名
    要在微信小程序中实现电子签名,可以按照以下步骤操作:1. 在小程序页面中创建一个画布(canvas)组件,用于绘制签名。可以使用 `...
    99+
    2023-08-18
    微信小程序
  • 微信小程序怎么用canvas实现电子签名
    这篇文章主要介绍“微信小程序怎么用canvas实现电子签名”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序怎么用canvas实现电子签名”文章能帮助大家解决问题。具体代码如下<view...
    99+
    2023-07-02
  • 微信小程序实现横屏和竖屏签名功能
    本文实例为大家分享了微信小程序实现横屏和竖屏签名的具体代码,供大家参考,具体内容如下 wxml <view class="container">   <canvas...
    99+
    2024-04-02
  • uniapp实现微信小程序的电子签名效果(附demo)
    目录1、标签和样式2、横屏切换3、绘图3.1、初始化数据会吧?3.2、触摸开始时获取起点,会吧?3.3、触摸移动获取路径点,会吧?3.4、触摸结束,将未绘制的点清空防止对后续路径产生...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作