首页 > 其他分享 >移动端电子签名

移动端电子签名

时间:2024-03-04 14:33:24浏览次数:22  
标签:react canvas 画布 插件 电子签名 signature 移动 signCanvas

一.React:使用手写签名插件:react-canvas-draw 和 react-signature-canvas

npm install react-canvas-draw --save

import CanvasDraw from "react-canvas-draw";
3、使用组件
signCanvas= React.createRef();

  


设置签名组件的属性
<CanvasDraw
    ref={this.signCanvas}
    brushColor="#000"
    brushRadius={3}
    lazyRadius={10}
    canvasWidth={"100%"}
    canvasHeight={250}
/>

  

4、得到签名并转化为图片
let signImg = this.signCanvas.current.canvas.drawing.toDataURL('image/png');

  

5、清空画布
this.signCanvas.current.clear();

  


6、将签名信息图片展示


使用此插件,转为png图片后无背景色透明,需要处理。
参考来源 https://www.jianshu.com/p/d36bf61d8034

d
emo:https://embiem.github.io/react-canvas-draw/

react-signature-canvas

这个插件签名生成的图片虽然也是透明的,但处理起来比react-canvas-draw这个插件容易多,

示例:

 

 //先安装
 
  npm i -S react-signature-canvas
 
  //导入
 
  import SignatureCanvas from 'react-signature-canvas';
 
 
 
 
resetSignBtn=() =>{
    this.signCanvas.current.clear();
}
 
//给画布添加背景色,只需要在画布打开是拿到画布,给画布添加颜色即可
 
async signBtn(type) {
    await this.setState({signModal: true});
   //得到画布
    let canvas = this.signCanvas.current._canvas;
    if (canvas.getContext) {
        let ctx = canvas.getContext('2d');
        ctx.fillStyle = "#fff";//添加颜色
        ctx.fillRect(0, 0, canvas.width, canvas.height);
    }
}
 
 
 
     <Modal
                title={'签名'}
                visible={signModal}
                onCancel={this.hideSignModal}
                footer={[
                    <Button key={'sign_rep' + Math.random()} onClick={this.resetSignBtn}>重签</Button>,
                    <Button key={'sign_sub' + Math.random()} type='primary' onClick={this.confirmSignBtn}>确定</Button>,
 
                ]}
                destroyOnClose={true}
                centered={true}
                width={1000}
       >

  {/*这个组将的class样式的宽高,要与属性width,height一样,不然可能出现画线轨迹与光标偏移量太大*/}

<SignatureCanvas ref={this.signCanvas} penColor='#000' <br>          canvasProps={{ width:900,height:400,className: 'sigCanvas'}} /> <br>    </Modal>

 demo:https://agilgur5.github.io/react-signature-canvas/

二.vue:使用手写签名插件:vue-signature-pad、vue-esign、vue-drawing-canvas和vue-signature-canvas

 

标签:react,canvas,画布,插件,电子签名,signature,移动,signCanvas
From: https://www.cnblogs.com/ygunoil/p/18051759

相关文章

  • C++填坑系列——万能引用+移动语义+完美转发
    模板编程中的万能引用、移动语义、完美转发万能引用:T&&,辅助模板编程,这样左值和右值的参数都可以接收;移动语义:std::move,转换为右值,也可结合移动构造函数和移动赋值使用;完美转发:std::forward,可以保留参数的左值和右值属性,因为后续使用该参数可能还需要这个属性;万能引用万能引......
  • 9-1. 实现移动设备屏幕操控
    添加虚拟手柄如上图所示,绘制虚拟手柄,包括左侧操作杆和右侧NESW键给左侧操作杆添加On-ScreenStick给右侧按钮添加On-ScreenButton因为我们使用的是新输入系统,所以这些虚拟按键就能直接使用了PC版不显示虚拟手柄使用UNITY_STANDALONE宏,这个宏只会在PC平台上生效,......
  • 回放移动旋转
     1、首先是设置一个枚举 分别为 录制  暂停  回放  2、先设置一个常量  long作为时间 录制的最长时间 然后再设置里面把时间修改为0.01 相当于1帧100次把应该 3、设置两个存储位置和旋转的数组 做一个记录4、设置两个Bool他们分别用来判断该......
  • 免费集成-下载移动应用程序小工具
    推荐一个好用的、可以免费集成到网站的小部件。以下是具体内容。通过免费集成提高下载率。免费的网站小部件,您只需要简单的复制粘贴即可集成到您的网站中,以此来提高您的网站开发和下载效率。示例:为什么选择这个的插件:下载率提高了20%:我们的插件改变了游戏规则,带来了实实在......
  • 【HarmonyOS开发】案例-签名板基础上开发移动白板
    【HarmonyOS开发】案例-签名板基础上开发移动白板:https://mp.weixin.qq.com/s?__biz=MzI0MzQ5NTgxOQ==&mid=2247485266&idx=1&sn=15b550a8141cff0572ae828e8c75cd41&chksm=e96d61b6de1ae8a0963f7eafb47b04a654594b9d04415443a4b85904b5ed0adaaae1480adec5&mpshare=1&sc......
  • 3-8. 蜜蜂 - 基本的移动逻辑和动画
    动画切割图片,制作动画,注意:锚点在中心点注意:beeFly和beeChase使用相同的动画,但是速度不一样代码Enemy因为蜜蜂的行动方式与野猪、蜗牛都不一样,它是在空中飞的,所以它检测玩家和移动的方式都是不一样的,所以我们需要对Enemy中FoundPlayer、OnDrawGizmosSelected、Mov......
  • 3-6. 蜗牛-基本的移动逻辑和动画
    动画相关切割图片将蜗牛的图片切割成动画动画状态机这里将蜗牛的移动分为PreMove和Move两个状态,希望在PreMove也就是蜗牛头还没有伸出去的时候不移动,等蜗牛头伸出去之后才移动当walk为true的时候,从snailIdle立马进入snailPreMove状态snailPreMove完整播放......
  • PS移动工具
    1.快捷键2.使用流程不要松手,拖到背景里面再松手最后效果如何将其放到原来图层的原位置上?最终效果3.自动选择图层如果我们要拖动图层,必须要先选中图层,再进行拖动如何在界面中点击一只小鸡,就自动选中图层?框选自动选择选项4.快捷键1.ctrl+移动工具(临时需要,松开......
  • C#无标题栏窗体的移动
    C#无标题栏窗体的移动转载于:https://www.cnblogs.com/magicianlyx/p/4918153.html首先C#无标题栏窗体的实现代码在load时实现无工具栏+无窗口标题privatevoidForm1_Load(objectsender,EventArgse){this.ControlBox=false;this.Tex......
  • 3-1. 野猪 - 基本的移动逻辑和动画
    野猪实现移动添加一个Enemy类usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassEnemy:MonoBehaviour{protectedRigidbody2Drb;protectedAnimatoranim;[Header("基本参数")]publicfloatnormalSpe......