基于canvas的手写签名. online demo
npm install h5-signature
# or
yarn add h5-signature
# development
npm run start
# build
npm run build
<div style="width:300px;height:300px" id="container"></div>
var container = document.getElementById('container')
new Signature.default({
root: container, // root dom container
color: '#000', // draw color
lineWidth: 8, // draw line width
width: 'auto', // canvas width, auto fill to root width if set to 'auto'
height: 'auto', // canvas height, auto fill to root height if set to 'auto'
openSmooth: true, // if enable brush thickness effect
rotate: 0, // export rotated image, available values: -90/90/-180/180
minWidth: 2, // minimize linWidth
minSpeed: 1.5, // minimize brush move speed
scaleRatio: window.devicePixelRatio, // canvas scale ratio
maxWidthDiffRate: 20, // Smooth transition threshold
resizeDebounceTime: 200, // window resize debounce elapse time
exportPadding: 0, // padding from edge
exportMaxWidth: 300, // export max image width
exportMaxHeight: 300, // export max image height
undoRedoStateChange: Function, // state change callback if undo/redo state changed
onDrawStart: Function, // called when draw starts, [MouseEvent, point]
onDrawing: Function, // called when draw going , [MouseEvent, point]
onDrawUp: Function // called when draw up , [MouseEvent, Image]
})
parameters: width [number]
set draw lineWidth dynamic
parameters: color [string]
set draw color dynamic
clear the canvas
go prev draw stage
go next draw stage
query if can undo
query if can redo
get the croped canvas dom
destroy the instance
download the origin drawed image