flutter_signature_package 1.0.1 copy "flutter_signature_package: ^1.0.1" to clipboard
flutter_signature_package: ^1.0.1 copied to clipboard

A Flutter package for drawing signatures on a canvas.

Signature Canvas #

A Flutter package for drawing signatures on a canvas. This package provides functionality to draw smooth lines based on user input gestures.

Features #

  • Draw smooth lines on a canvas.
  • Undo and redo drawing actions.
  • Clear the canvas.
  • Export the drawn signature as PNG bytes.
  • Customize Pan Stroke Width on Canvas

Installation #

Add the following line to your pubspec.yaml dependencies:

dependencies:
  flutter_signature_package:
    git:
      url: https://github.com/Dojibery/flutter-signature-package

Usage #

Import the package in your Dart file:

import 'package:my_signature_package/flutter_signature_package.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: Scaffold(
          appBar: AppBar(
            title: Text('Signature Canvas Example'),
          ),
          body: SafeArea(
            child: Column(
              children: [
                Expanded(child: SignatureCanvas()),
                ActionButtons(),
              ],
            ),
          ),
        ),
    );
  }
}

Explanation #

  • SignatureCanvas: Widget for drawing signatures based on user input.

Examples #

Basic Usage #

class MySignaturePage extends StatelessWidget {
  final SignatureCanvasController signatureCanvasController = SignatureCanvasController();

  void _handleSave(Uint8List pngBytes) {
    // Handle the saved PNG bytes here
    print('Saved PNG bytes: $pngBytes');
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Signature')),
      body: Directionality(
        textDirection: TextDirection.ltr,
        child: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              Expanded(
                child: SignatureCanvas(
                  backgroundColor: Colors.white,
                  controller: signatureCanvasController,
                  onSave: _handleSave,
                ),              ),
              Row(
                mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                children: [
                  IconButton(
                    icon: Icon(Icons.undo),
                    onPressed: () {
                      signatureCanvasController.undo();
                    },
                  ),
                  IconButton(
                    icon: Icon(Icons.redo),
                    onPressed: () {
                      signatureCanvasController.redo();
                    },
                  ),
                  IconButton(
                    icon: Icon(Icons.delete),
                    onPressed: () {
                      signatureCanvasController.clearAll();
                    },
                  ),
                  IconButton(
                    icon: Icon(Icons.save),
                    onPressed: () {
                      signatureCanvasController.exportDrawing();
                    },
                  ),
                ],
              ),
            ],
          ),
        ),
      ),
    );
  }
}

Save Signature as PNG Bytes #

SignatureCanvas(
  onSave: (Uint8List pngBytes) {
    // Handle the saved PNG bytes here
    print('Saved PNG bytes: $pngBytes');
  },
)

Contributing #

Contributions are welcome! Feel free to open issues and pull requests to suggest new features, report bugs, or improve the codebase.

License #

This project is licensed under the MIT License - see the LICENSE file for details.

7
likes
130
points
51
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter package for drawing signatures on a canvas.

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on flutter_signature_package