IONIC4 使用电子签名板

1.下载依赖

签名板
npm install angular2-signaturepad --save
appmodule.ts引入
import { SignaturePadModule } from 'angular2-signaturepad';// 签名插件

2. 使用

html使用

    <signature-pad [options]="signaturePadOptions" (onBeginEvent)="drawStart()" (onEndEvent)="drawComplete()"
                #customerUsersignaturePad>
     </signature-pad>

TS 中定义

 @ViewChild('customerUsersignaturePad') customerUsersignaturePad: SignaturePad;
  private signaturePadOptions: Object = { // passed through to szimek/signature_pad constructor
    'minWidth': 2,
    'canvasWidth': this.platform.width(),
    'canvasHeight': this.platform.height() * 0.6
  };

在手机屏幕上笔画结束后 会调用drawComplete()方法,笔画刚开始调用drawStart()方法,通过在drawComplete()中调用 toDataURL() 方法获取图片

   let img = this.customerUsersignaturePad.toDataURL(); //返回base64编码的图片

插件源码参考

import { ElementRef, EventEmitter } from '@angular/core';
export interface Point {
    x: number;
    y: number;
    time: number;
}
export declare type PointGroup = Array<Point>;
export declare class SignaturePad {
    options: Object;
    onBeginEvent: EventEmitter<boolean>;
    onEndEvent: EventEmitter<boolean>;
    private signaturePad;
    private elementRef;
    constructor(elementRef: ElementRef);
    ngAfterContentInit(): void;
    resizeCanvas(): void;
    toData(): Array<PointGroup>;
    fromData(points: Array<PointGroup>): void;
    toDataURL(imageType?: string, quality?: number): string;
    fromDataURL(dataURL: string, options?: Object): void;
    clear(): void;
    isEmpty(): boolean;
    off(): void;
    on(): void;
    set(option: string, value: any): void;
    onBegin(): void;
    onEnd(): void;
    queryPad(): any;
}

3.效果展示

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容