Skip to content
This repository has been archived by the owner on May 5, 2021. It is now read-only.

xamarin/SignaturePad

Repository files navigation

Signature Pad

Build Status Build Status

SignaturePad NuGet SignaturePad Xamairn.Forms NuGet

Signature Pad makes capturing, saving, exporting, and displaying signatures extremely simple on Xamarin.iOS, Xamarin.Android and Windows.

Not only is Signature Pad available for native apps, but also available in Xamarin.Forms apps.

Screenshot


Using Signature Pad

Signature Pad can be installed from NuGet.org for native Xamarin and Windows apps:

nuget install Xamarin.Controls.SignaturePad

And also for Xamarin.Forms apps:

nuget install Xamarin.Controls.SignaturePad.Forms

Using Signature Pad on iOS

using Xamarin.Controls;

var signatureView = new SignaturePadView (View.Frame) {
	StrokeWidth = 3f,
	StrokeColor = UIColor.Black,
	BackgroundColor = UIColor.White,
};

Using Signature Pad on Android

using Xamarin.Controls;

var signatureView = new SignaturePadView (this) {
	StrokeWidth = 3f,
	StrokeColor = Color.White,
	BackgroundColor = Color.Black
};

Using Signature Pad on Windows

<!-- xmlns:controls="using:Xamarin.Controls" -->

<controls:SignaturePad
	x:Name="signatureView"
	StrokeWidth="3"
	StrokeColor="White"
	Background="Black" />

Using Signature Pad on Xamarin.Forms

<!-- xmlns:controls="clr-namespace:SignaturePad.Forms;assembly=SignaturePad.Forms" -->

<controls:SignaturePadView
	x:Name="signatureView"
	StrokeWidth="3"
	StrokeColor="BlackWhite"
	BackgroundColor="Black" />

Obtaining a Signature Image

The signature that was drawn on the canvas can be obtained as a image using the GetImage(...) method overloads. The resulting image will be in the native platform image type:

// iOS
UIImage image = signatureView.GetImage ();

// Android
Bitmap image = signatureView.GetImage ();

// Windows
WriteableBitmap bitmap = signatureView.GetImage ();

For Xamarin.Forms, there is no "native" image format, but GetImageStreamAsync can be used instead to retrieve an encoded (jpeg or png) image stream:

Stream bitmap = await signatureView.GetImageStreamAsync (SignatureImageFormat.Png);

Obtaining the Signature Points

In addition to retrieving the signature as an image, the signature can also be retrieved as as an array of points:

var strokes = signatureView.Strokes;

These strokes can be used to save and restore a signature:

// restore strokes (iOS, Android, Windows)
signatureView.LoadStrokes (newStrokes);

// restore strokes (Xamarin.Forms)
signatureView.Strokes = newStrokes;

License

The license for this repository is specified in LICENSE.

.NET Foundation

This project is part of the .NET Foundation.