/signature

Flutter plugin that creates a canvas for writing down a signature

Primary LanguageDartMIT LicenseMIT

signature

pub package

A Flutter plugin providing performance optimized signature canvas with ability to set custom style, boundaries and initial state. This is native flutter implementation, so it supports all platforms.

Why

In time of creation of this plugin, there was no available solution that had:

  • required performance on wide range of devices
  • ability to set canvas boundaries
  • ability to initialize using previously saved state

Usage

To use this plugin, add signature as a dependency in your pubspec.yaml file.

Example

// IMPORT PACKAGE
import 'package:signature/signature.dart';

// INITIALIZE. RESULT IS A WIDGET, SO IT CAN BE DIRECTLY USED IN BUILD METHOD 
var _signatureCanvas = Signature(
  width: 300,
  height: 300,
  backgroundColor: Colors.lightBlueAccent,
);

// CLEAR CANVAS
_signatureCanvas.clear();

// EXPORT BYTES (EXPORTING FORMAT IS PNG)
_signatureCanvas.exportBytes();

// isEmpty/isNotEmpty CAN BE USED TO CHECK IF SIGNATURE HAS BEEN PROVIDED
_signatureCanvas.isNotEmpty; //true if signature has been provided
_signatureCanvas.isEmpty; //true if signature has NOT been provided

// EXPORT POINTS (2D POINTS ROUGHLY REPRESENTING WHAT IS VISIBLE ON CANVAS)
var exportedPoints = _signatureCanvas.exportPoints();

//EXPORTED POINTS CAN BE USED TO INITIALIZE PREVIOUS STATE VIA CONSTRUCTOR
var _signatureCanvas = Signature(
  points: exportedPoints,
  width: 300,
  height: 300,
  backgroundColor: Colors.lightBlueAccent,
);

Contribution and Support

  • Contributions are welcome!
  • If you want to contribute code please create a PR
  • If you find a bug or want a feature, please fill an issue