0.0.5 • Published 4 years ago

signature-canvas v0.0.5

Weekly downloads
3
License
MIT
Repository
github
Last release
4 years ago

signature-canvas: 签名插件

Demo

特性

  • 开箱即用

  • TypeScript

  • 支持横屏竖屏

安装

$ npm install signature-canvas

使用

横屏

import Signature from 'signature-canvas';

const signature = new Signature({
  container: 'canvas',
  width: 667,
  height: 375,
});

// 撤销
const unDo = () => {
  signature.undo();
};

// 清除
const clear = () => {
  signature.clear();
};

// 下载
const toData = () => {
  const data = signature.toDataURL();
  console.log(data);
};

<canvas id="canvas" />;

竖屏

import Signature from 'signature-canvas';

const signature = new Signature({
  container: 'canvas',
  width: 667,
  height: 375,
  rotate: 90,
});

const width = 667;
const height = 420;
const style = {
  width,
  height,
  transform: `rotate(90deg) translate(${(width - height) / 2}px, ${(width - height) / 2}px)`,
};
<div style={style}>
  <canvas id="canvas" />
</div>;

API

参数说明类型默认值
container画布 id 或画布实例string |  HTMLCanvasElement-
width画布宽度number400
height画布高度number200
penColor画笔颜色stringblank
backgroundColor画布背景色string#fff
rotate画布旋转角度,支持0,90,-90,180,-180number0
minWidth画笔最小值number1
maxWidth画笔最大值number4
deafultWidth画布起始值(每次触碰画布时的大小),建议不小于最小值,且不大于最大值。number3
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背景图距离画布左侧的距离number0
y背景图距离画布上侧的距离number0

开发

$ npm install

# build watching file changes and run demos
$ npm run dev

License

MIT license.

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago