v-perfect-signature

Perfect pressure-sensitive signature drawing for Vue 2 and 3
159,901 257
Install
npm install v-perfect-signature
Latest Version:1.4.0
Vue:2 · 3
License:MIT
Last Updated:Dec 14, 2023
Links: GitHub  ·  npm
Maintainer: wobsoriano

v-perfect-signature

Pressure-sensitive signature drawing for Vue 2 and 3 built on top of perfect-freehand.

Demo: https://wobsoriano.github.io/v-perfect-signature

Install

pnpm add v-perfect-signature

Usage

<script setup>
import { ref } from 'vue'
import { VPerfectSignature } from 'v-perfect-signature'

const signaturePad = ref()
const strokeOptions = {
  size: 16,
  thinning: 0.75,
  smoothing: 0.5,
  streamline: 0.5,
}

function toDataURL() {
  const dataURL = signaturePad.value.toDataURL()
  console.log(dataURL)
}
</script>

<template>
  <VPerfectSignature ref="signaturePad" :stroke-options="strokeOptions" />
</template>

Props

Name Type Default Description
width String 100% Set canvas width
height String 100% Set canvas height
backgroundColor String rgba(0,0,0,0) Canvas background color
penColor String #000 Canvas pen color
strokeOptions Object Reference Perfect freehand options

Methods

Name Argument Type Description
toDataURL(type) String Returns signature image as data URL
fromDataURL(dataUri) String Draws signature image from data URL
toData - Returns signature image as an array of array of input points
fromData(data) Array Draws signature image from array of array of input points
clear() - Clears the canvas
isEmpty() - Returns true if canvas is empty
resizeCanvas(shouldClear) Boolean Resizes and recalculate dimensions

Note: Like signature_pad, fromDataURL does not populate internal data structure. Thus, after using fromDataURL, toData won't work properly.

Events

Name Type Default Description
onBegin Function - Fired when stroke begin
onEnd Function - Fired when stroke end

Nuxt

export default defineNuxtConfig({
  build: {
    transpile: ['v-perfect-signature']
  }
})

License

MIT

Related Packages

vue3-signature-pad

A Vue3 Signature Pad

127,324 6
vue-signature-pad

SignaturePad component for Vue.js

2,632,353 562
@docuseal/signature-maker-vue

Vue component for drawing signatures

5,970 0
vue-esign

A canvas signature component of vue

94,586 623

Version History

Version Released License
1.4.0 MIT
1.3.0 MIT
1.2.1 MIT
1.2.0 MIT
1.1.11 MIT