59 ratings
  • 1
  • 2
  • 3
  • 4
  • 5
5 star 25
4 star 21
3 star 5
2 star 5
1 star 3
Compatible with
  • Android
  • iOS
  • Windows

Signature Pad for Xamarin and Windows 2.2.0

Xamarin, Inc.

Makes capturing, saving, and displaying signatures extremely simple.

Signature Pad makes capturing, saving, exporting, and displaying signatures extremely simple.

There are controls for both native apps and Xamarin.Forms apps for most .NET platforms:

  • Xamarin.Android
  • Xamarin.iOS
  • Windows 10 UWP
  • Windows Store 8+
  • Windows Phone 8+

Using Signature Pad

Signature Pad has many features that are easy to use.

Signature Pad can be used with Xamarin.Forms, however this component does not contain those libraries. In order to use Signature Pad with Xamarin.Forms, you can install the "Xamarin.Controls.SignaturePad.Forms" NuGet.

Capturing & Displaying Signatures

The Signature Pad control can be added to your app's view hierarchy using drag-and-drop with the designers or by writing simple code.

On iOS:

var signature = new SignaturePadView () {
    StrokeWidth = 3f,
    StrokeColor = UIColor.Black
};

On Android:

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

On Windows:

var signature = new SignaturePad () {
    StrokeWidth = 3f,
    StrokeColor = Colors.Black
};

Exporting Signature Images

Once the user has written his/her signature, you can export that signature as a native bitmap.

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

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

// Windows
WriteableBitmap image = signature.GetImage ();

Exporting Signature Points

If you have to save and restore a user's signature, you can also capture the raw stoke points.

// iOS
CGPoint[] points = signature.Points;
CGPoint[][] strokes = signature.Strokes;

// Android
PointF[] points = signature.Points;
PointF[][] strokes = signature.Strokes;

// Windows
Point[] points = signature.Points;
Point[][] strokes = signature.Strokes;

Importing Signature Points

signature.LoadPoints (points);
signature.LoadStrokes (strokes);

Release Notes

A minor release with a few bug fixes and new features:

  • New Cleared event for when the surface is cleared
  • Improvements for when exporting the signature as an image
  • Fix for Android not properly disabling the control

See more on GitHub: https://github.com/xamarin/SignaturePad/releases/tag/v2.2

Write a Review

38 reviews

Yann Vasseur rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Nice and thanks.

Just a question please, I try desesperatly to use signature over an background image and merge both to a single bitmap. I get the process all right except on keeping scale and position of the signature. So one solution I try to apply is resize the pad at the same size that the backgournd image. I am affraid I am not able to do this correctly, would you help me please ? (Xamarin Android)

EDIT : ok I work on this for hours, just 1 min after writing this I got the answer : signature.BackgroundImageView.LayoutParameters = layoutParams; signature.SignaturePadCanvas.LayoutParameters = layoutParams; I was trying to apply the layout to the SignaturePadView, this is not correct, need to apply it to SignaturePadView.SignaturePadCanvas

Posted on: November 9 / Version: 1.3.6
B Waja

I downloaded this Nuget but i only have

mySignPad.GetImageStreamAsync() method I don't have the mySignPad.GetImage(). The Async method is returning the Task(stream) instead of stream. How do i convert Task (stream) into byte[] ?

Posted on: April 22 / Version: 1.5.1
Juan Carlos Ricalde

When using the version for forms in android does not the image bring me the command?

Var image = await padView.GetImageStreamAsync (SignatureImageFormat.Png); In ios it works fine, but in andriod I get an empty image.

Posted on: March 24 / Version: 1.4.0.0
Balakrishnan S rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

It is good, Is there any way to save with background Image to achieve the functionality like annotated Image.

Posted on: March 9 / Version: 1.4.0.0
Domingo Fugaban

Xamarin.Forms can be found here... https://github.com/natedanner/acr-xamarin-forms

Posted on: January 19 / Version: 1.3.8
Tony rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

How to use it from Xamarin.Forms PCL XAML? I don´t want to add the code in each platform...

Posted on: December 29, 2016 / Version: 1.4.0.0
Gustavo Costa rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

SignaturePad.Layer.CornerRadius does not work in conjunction with shadows ;(

Posted on: December 2, 2016 / Version: 1.4.0.0
Chris Merron rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Real simple to implement - simple signature pad with ability to save as image. What more could you want!?

Posted on: November 30, 2016 / Version: 1.4.0.0
Derek Haugen rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Looks Excellent but can anyone tell me where I should be putting the andoid signature.dll file? I am new to Xamarin and not sure how to get it into the toolbox!? Please help.

Posted on: November 29, 2016 / Version: 1.3.6
Gabor Shaio rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Hi All,

I'm having a couple of issues with iOS: 1. Parts of the signature are being removed while you keep singing. 2. GetImage() returns an incorrectly cropped image: the drawing is all the way to the left with a large white area to the right.

On Android: GetImage() seems to always return a Bitmap which is a black rectangle. I noticed that the sample code has no example of using GetImage() only load and save points. Also the Android source code has a few comments about UIImage :)

Can someone please help.

Posted on: November 25, 2016 / Version: 1.4.0.0
Mark Townsend

Hi Domingo Fugaban, Did you find a solution? I have exactly the same problem.

Posted on: November 5, 2016 / Version: 1.4.0.0
Keith Longwell rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

98% of the time this tool has been working GREAT!!!

However I have been getting occational error messages reported by users.

Any help would be wonderful. Below is the error message reported to Google Play (developer)

Thanks for a great tool.

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) ... 1 more Caused by: android.runtime.JavaProxyThrowable: System.ObjectDisposedException: Cannot access a disposed object. Object name: 'Android.Graphics.RectF'. at Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) [0x00030] in <9bf0561c7f31408c995d47ced787ea7b>:0 at Java.Interop.JniPeerMembers+JniInstanceFields.SetValue (System.String encodedMember, Java.Interop.IJavaPeerable self, System.Single value) [0x00001] in <9bf0561c7f31408c995d47ced787ea7b>:0 at Android.Graphics.RectF.set_Left (System.Single value) [0x0000a] in :0 at SignaturePad.SignaturePadView.resetBounds (System.Single touchX, System.Single touchY) [0x0000c] in <9d86ec5f09794d008603969c90ab1abb>:0 at SignaturePad.SignaturePadView.handleTouch (Android.Views.MotionEvent e) [0x00017] in <9d86ec5f09794d008603969c90ab1abb>:0 at SignaturePad.SignaturePadView.OnTouchEvent (Android.Views.MotionEvent e) [0x00080] in <9d86ec5f09794d008603969c90ab1abb>:0

Posted on: November 4, 2016 / Version: 1.4.0.0
Huzefa Firoz Bagdadi rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Hi, I do not want to show the Clear Label when I add my strokes. Is there a way to avoid Clear Label.

Note: I have tried setting its state to Invisible and Gone but it still shows up

I want to have my own Clear button on the screen

Posted on: October 10, 2016 / Version: 1.4.0.0
Dick Beekman rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Very nice component, and easy to use. Excellent work!

When will UWP support be included? Or is there an easy way to get this to work for UWP I am overlooking?

Posted on: September 12, 2016 / Version: 1.4.0.0
Christophe BERNARD rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Hello,

really really nice component ... simply to use and very flow when we use it ...

before i have translate a android studio sample into c# that's take me more one day ! argghhh now, with you component add reference add 3 lines of codes compiles and run that's ALLLL

10/10 Great thanks for your time guys

Posted on: August 23, 2016 / Version: 1.4.0.0
Vamsi Katakam rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

hi

i am calling signature pad(IOS) from xamarin.forms using dependency service. after completing signature. In Android i am using Finish method. but IOS How to Close the Signature Pad. how can we close the signature pad.?

Posted on: July 27, 2016 / Version: 1.3.8
Sushant Rawale rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

@Vladimir Abramichev, have you got any solution to your problem?

HOow to remove 'X' mark from right bottom corner?

Posted on: July 26, 2016 / Version: 1.3.8
Vladimir Abramichev rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Hi, I have an issue with "Clear" label - it may contain 6 characters max which makes localization impossible, e.x. Finnish word "tyhjentää" is shown as "T..ää"

Could you make it expandable or more capacious ?

Posted on: May 12, 2016 / Version: 1.3.8
Francisco J. Gutiérrez

I don't know why but sometimes in iOS there is a part of the signature that it is removed while I am writing. However in Android works fine.

Am I the only one with this issue?

Posted on: February 2, 2016 / Version: 1.3.8
Hugo rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

No version available for Windows Phone 8.0 or 8.1. When will support be added for his platform?

Posted on: January 13, 2016 / Version: 1.3.8
Sanket rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Xamarin team, Do you have any plan to release Windows version of this?

Posted on: September 9, 2015 / Version: 1.3.8
Anees Deen

Hi, I am using Android Signature Component. I want to support both orientation (Landscape and Portrait) in Signature Pad View. I am facing issue while transition. The Signature cutoff abruptly while transform from portrait to Landscape. Is there workaround to fix the issue?

Posted on: June 4, 2015 / Version: 1.3.8
FLD Developer rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

I'm adding the option to opt out the signature, In the ios version I'm able to disable the control by setting the UserInteractionEnabled to false, but I'm not able to reproduce the same behavior in android, I tried setting the Clickable, focusable and focusableintouchmode properties to false but it does not work. Please advise. Thanks!

Posted on: May 1, 2015 / Version: 1.3.7
Muthu Raj

I am getting memory issues in iOS. If a user is updating 10 to 15 signatures simultaneously, I am getting " unable to allocate bytes for bitmap data" error. Is there any way to handle this.

Posted on: March 25, 2015 / Version: 1.3.7
Duane Slaubaugh

Is there any update on issue "Test8 user" and "Sanket cybage" were having where the previous drawing is vanishing? I am having the same issue on version 1.3.6.

Posted on: February 12, 2015 / Version: 1.3.6
Sanket cybage

I am facing same issue which "Test8 user" below mentioned. When I take off my finger and again try to draw, previous drawing vanished. I am using Signature Pad Xaml version. Please advice how to solve this problem.

Posted on: January 6, 2015 / Version: 1.3.5
sucheendarnath k

Hi, I have downloaded the Latest SigaturePad Component , Sample source and worked with below Environment.

Xamarin : 3.7.226.0
Xamarin.Android : 4.18.0.38 Sample project: Sample.Android

We have placed the signaturepad-Android.dll in application source and without clean the application is working fine. When we clean the application and deploy to device it shows error in Constructor as "Android.Views.InflateException: inflating class SignaturePad.SignaturePadView to NULL"

Kindly clarify

Posted on: December 2, 2014 / Version: 1.3.5
Aamir

Thank you for the Signature control I manged to get it going on Android in 5 minutes.

Gert work Thank you. For anyone interested here are my setting

/* signaturepad= new SignaturePadView (this); signaturepad.BackgroundColor = Color.White; signaturepad.StrokeColor = Color.Black; signaturepad.StrokeWidth = 8f; signaturepad.Left = 50; signaturepad.Top = 10; signaturepad.Right = 50; signaturepad.Bottom = 10; sig_layout.AddView (signaturepad); */

Posted on: November 18, 2014 / Version: 1.3.5
Mustafa Varer

Hi,

I downloaded this signature pad but even the included sample is giving me black screen and nothing. I am working on IOS 8.1 phone. Thanks for your help.

Mustafa Varer

Posted on: November 12, 2014 / Version: 1.3.5
Jozef Palcek rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Xamarin 3.7.230.0

Xamarin.Android 4.18.0.39

Device: Nexus 5 (4.4.4)

Your sample project: Sample.Android

OnCreate(): Android.Views.InflateException: Binary XML file line #1: Error inflating class SignaturePad.SignaturePadView

EDIT: After Xamarin update to version 3.7.248 works fine

Posted on: October 30, 2014 / Version: 1.3.5
Test8 user

Hi

I am having a problem with the pad. When I take off my finger and again try to draw, previous drawing vanished. I mean you have to continuously draw the pic without taking your finger out. Let me know if there is a solution.. Thanks

Posted on: October 29, 2014 / Version: 1.3.5
Benoit Jadinon rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

having trouble with retina ipads, the GetImage() is returning a double-sized image, with the signature only taking 1/4th of the space. otherwise, great component

Posted on: October 3, 2014 / Version: 1.3.4
Jonathan Hockman rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Works wonderfully. Very quick and easy to get it set up and working.

Posted on: August 19, 2014 / Version: 1.3.3
[2] Miguel da Rocha Correia Lima rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Hi! In my tests, I got some delay when the finger drags on the screen, the signature just be completed when I finger up. There are any thing to resolve this?

Posted on: July 28, 2014 / Version: 1.3.3
Praveen Tandra

i am geeting memory warnings whenever drawing on signature pad in ios (mono touch ) how to resolve this issue.

Posted on: July 9, 2014 / Version: 1.3.3
haluk rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

thats brilliant, thanks for taking price to free!

Posted on: May 19, 2014 / Version: 1.3.3
Mikkel Rostock rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

And how to load signature from UIImage for editing, once it has been saved to disk or database?

Posted on: February 24, 2014 / Version: 1.3.3
Gabriel Luepertz rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

This is awesome, easy to use, a wp version wouldve been awesome too

Posted on: January 29, 2014 / Version: 1.2