iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >微信小程序怎么实现手写签名
  • 633
分享到

微信小程序怎么实现手写签名

2023-06-29 06:06:43 633人浏览 八月长安
摘要

本文小编为大家详细介绍“微信小程序怎么实现手写签名”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序怎么实现手写签名”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在微信小程序上实现手写签名,获取canva

本文小编为大家详细介绍“微信小程序怎么实现手写签名”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序怎么实现手写签名”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

在微信小程序上实现手写签名,获取canvascontext新版本和旧版本有点坑,新版本在获取canvas后如果页面有滑动,则签名坐标出现异常(在微信开发工具上会出现2022-2-17),但是在真机上即使滑动也不会出现异常,为了防止出现问题,暂时使用旧版本获取canvascontext

1.效果图

微信小程序怎么实现手写签名

微信小程序怎么实现手写签名

2.相关代码

canvas代码

新版2d canvas

<canvas  id="canvas"  class="canvas"  canvas-id="canvas"  type="2d"  :disable-scroll="true"  @touchstart="handleTouchStart"  @touchmove="handleTouchMove"  @touchend="handleTouchEnd"  @touchcancel="handleTouchCancel"></canvas>

旧版canvas

<canvas  class="canvas"  canvas-id="canvas"  :disable-scroll="true"  @touchstart="handleTouchStart"  @touchmove="handleTouchMove"  @touchend="handleTouchEnd"  @touchcancel="handleTouchCancel"></canvas>

js相关

获取新版2d canvas对象

const query = uni.createSelectorQuery().in(this);query.select('.canvas').node(res => {  const {      _width,      _height  } = res.node;      this.canvas = res.node;  this.canvasWidth = _width;  this.canvasHeight = _height;    this.canvasContext= this.canvas.getContext('2d');      const ratio = wx.getSystemInfoSync().pixelRatio;  this.canvas.width = this.canvasWidth * ratio;  this.canvas.height = this.canvasHeight * ratio;  this.canvasContext.scale(ratio, ratio);      this.canvasContext.strokeStyle = '#2A2A2A';    this.canvasContext.lineWidth = 4;    this.canvasContext.lineCap = 'round';}).exec()

缩放设置canvas画布大小,防止笔迹错位,这点和页面滑动没有关系,不设置也会导致坐标错位

const ratio = wx.getSystemInfoSync().pixelRatio;this.canvas.width = this.canvasWidth * ratio;this.canvas.height = this.canvasHeight * ratio;this.canvasContext.scale(ratio, ratio);

旧版本获取canvas

this.canvasContext = uni.createCanvasContext('canvas', this);this.canvasContext.setStrokeStyle('#2A2A2A');this.canvasContext.setLineWidth(4);this.canvasContext.setLineCap('round');

签名js方法,新版本和旧版本只有一个draw的区别,新版本不需要使用draw方法

handleTouchStart(e) {  this.drawStartX = e.changedTouches[0].x;  this.drawStartY = e.changedTouches[0].y;    this.canvasContext.beginPath();},handleTouchMove(e) {        const tempX = e.changedTouches[0].x;    const tempY = e.changedTouches[0].y;        this.canvasContext.moveTo(this.drawStartX, this.drawStartY);    this.canvasContext.lineTo(tempX, tempY);    this.canvasContext.stroke();        this.canvasContext.draw(true);        this.drawStartX = tempX;    this.drawStartY = tempY;},handleTouchEnd(e) {    this.canvasContext.save();},handleTouchCancel(e) {    this.canvasContext.save();},clearCanvas() {    this.canvasContext.clearRect(0, 0, this.canvasWidth, this.canvasHeight);},

canvas生成本地图片(我这里封装了组件,需要传入this防止this指向异常)

generateSignImage() {    return new Promise((resolve, reject) => {        uni.canvasToTempFilePath({          x: 0,          y: 0,          // canvas: this.canvas, // 新版          canvasId: 'canvas', // 旧版使用id          width: this.canvasWidth,          height: this.canvasHeight,          destWidth: this.canvasWidth,          destHeight: this.canvasHeight,          fileType: 'png',          quality: 1,          success: res => {              resolve(res.tempFilePath)          },          fail: err => {              reject(err);          }        }, this)    })},

新版本的canvas主要是canvas wxml节点和canvas context中做了区分,旧版则只有一个canvas context就可以做全部的操作,在生成图片时,新版本是传入wxml对象,旧版本则是传入唯一canvasId,新版本canvas取消了draw方法

读到这里,这篇“微信小程序怎么实现手写签名”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

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

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

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

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

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

下载Word文档
猜你喜欢
  • 微信小程序怎么实现手写签名
    本文小编为大家详细介绍“微信小程序怎么实现手写签名”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序怎么实现手写签名”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在微信小程序上实现手写签名,获取canva...
    99+
    2023-06-29
  • 微信小程序实现手写签名
    本文实例为大家分享了微信小程序实现手写签名的具体代码,供大家参考,具体内容如下 本示例具备的功能: 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
  • 微信小程序实现横屏手写签名
    本文实例为大家分享了微信小程序实现横屏手写签名的具体代码,供大家参考,具体内容如下 1.关键配置: "pageOrientation": "landsc...
    99+
    2024-04-02
  • 微信小程序如何实现手写签名
    这篇文章主要介绍了微信小程序如何实现手写签名的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序如何实现手写签名文章都会有所收获,下面我们一起来看看吧。效果wxml<view class=&...
    99+
    2023-07-02
  • 微信小程序怎么实现简单手写签名组件
    这篇文章主要介绍了微信小程序怎么实现简单手写签名组件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序怎么实现简单手写签名组件文章都会有所收获,下面我们一起来看看吧。需求:可以实现用户在微信小程序上手写签...
    99+
    2023-06-08
  • 微信小程序怎么实现一个手写签名组件
    这期内容当中小编将会给大家带来有关微信小程序怎么实现一个手写签名组件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。背景:在做项目过程中,需要在微信小程序中实现手写签名组件。在网上找了微信小程序手写签名实现...
    99+
    2023-06-20
  • 微信小程序实现手写签名的示例代码
    目录1.效果图2.相关代码canvas代码js相关在微信小程序上实现手写签名,获取canvascontext新版本和旧版本有点坑,新版本在获取canvas后如果页面有滑动,则签名坐标...
    99+
    2024-04-02
  • 小程序实现手写签名
    本文实例为大家分享了小程序实现手写签名的具体代码,供大家参考,具体内容如下 方法不是我自己写的,但是也忘记最初的原版出自于哪里了,不过搜索下来就是大同小异,我就附上自己实测有效的!可...
    99+
    2024-04-02
  • 小程序实现手写板签名
    本文实例为大家分享了小程序实现手写板签名的具体代码,供大家参考,具体内容如下 1.wxss代码 page {     background: #F8F8F8; } .qianmin...
    99+
    2024-04-02
  • 微信小程序怎么实现电子签名
    要在微信小程序中实现电子签名,可以按照以下步骤操作:1. 在小程序页面中创建一个画布(canvas)组件,用于绘制签名。可以使用 `...
    99+
    2023-08-18
    微信小程序
  • 微信小程序实现手写板
    本文实例为大家分享了微信小程序实现手写板的具体代码,供大家参考,具体内容如下 <!-- 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实现电子签名”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序怎么用canvas实现电子签名”文章能帮助大家解决问题。具体代码如下<view...
    99+
    2023-07-02
  • 微信小程序用canvas实现电子签名
    本文实例为大家分享了微信小程序用canvas实现电子签名的具体代码,供大家参考,具体内容如下 <view class="sign-contain">     <vi...
    99+
    2024-04-02
  • uniapp怎么实现微信小程序的电子签名效果
    今天小编给大家分享一下uniapp怎么实现微信小程序的电子签名效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。开发框架:u...
    99+
    2023-06-30
  • 微信小程序日历签到怎么实现
    这篇文章主要介绍“微信小程序日历签到怎么实现”,在日常操作中,相信很多人在微信小程序日历签到怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序日历签到怎么实现”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作