signature-canvas: 签名插件
特性
-
开箱即用
-
TypeScript
-
支持横屏竖屏
安装
$ npm install signature-canvas
使用
横屏
; const signature = container: 'canvas' width: 667 height: 375; // 撤销const unDo = { signature;}; // 清除const clear = { signatureclear;}; // 下载const toData = { const data = signature; console;}; <canvas id="canvas" />;
竖屏
; const signature = container: 'canvas' width: 667 height: 375 rotate: 90; const width = 667;const height = 420;const style = width height transform: `rotate(90deg) translate(px, px)`;<div style=style> <canvas id="canvas" /></div>;
API
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
container | 画布 id 或画布实例 | string | HTMLCanvasElement | - |
width | 画布宽度 | number | 400 |
height | 画布高度 | number | 200 |
penColor | 画笔颜色 | string | blank |
backgroundColor | 画布背景色 | string | #fff |
rotate | 画布旋转角度,支持[0,90,-90,180,-180] | number | 0 |
minWidth | 画笔最小值 | number | 1 |
maxWidth | 画笔最大值 | number | 4 |
deafultWidth | 画布起始值(每次触碰画布时的大小),建议不小于最小值,且不大于最大值。 | number | 3 |
backgroundImage | 画布背景设置 | backgroundImage | - |
onBegin | 开始绘制函数,多次触发 | (e: MouseEvent | Touch)=>void | - |
onEnd | 绘制结束函数,多次触发 | (e: MouseEvent | Touch)=>void | - |
clear | 清除画布 | () => void | - |
undo | 撤销 | () => void | - |
toDataURL | 获取画布数据,Base64 | (type = 'image/png', encoderOptions?: number) => string | - |
getHistory | 获取画布栈数据 | () => string[] | - |
isEmpty | 判断画布是否为空 | () => boolean | - |
initData | 初始化画布数据,Base64 | (string) => void | - |
offEvent | 取消画布的监听事件 | () => void | - |
backgroundImage
属性 | 说明 | 类型 | 默认值 |
---|---|---|---|
src | 背景图片地址 | string | - |
x | 背景图距离画布左侧的距离 | number | 0 |
y | 背景图距离画布上侧的距离 | number | 0 |
开发
$ npm install # build watching file changes and run demos $ npm run dev