Unplanned
Last Updated: 30 Oct 2025 14:27 by ADMIN
Aaron Abdis
Created on: 10 Mar 2023 11:04
Category: SignaturePad
Type: Feature Request
3
SignaturePad: Provide an option to get the point data from the signature

The signatures are stored in the database as a string, representing the point data of all the lines in the signature.
For example, something like 

"1,2;3,4;5,6;7,8/10,11;12,13;14,15/21,22;23,24;25,26"

Where the string is line-data separated by "/", and the line data is x,y point data separated by semi-colons. 

We don't need the component to present the data exactly that way... we can take care of formatting it how we need, as long as the component exposes a way to get the point and line data.
3 comments
ADMIN
Lance | Senior Manager Technical Support
Posted on: 30 Oct 2025 14:27

Hi Tom and Aaron,

I'm reaching out to share an idea I had, which you can use to achieve your goal until there is an official feature available.  Find the demo attached, and here's runtime screenshots:

Using the SignaturePad's signature

Or using a png file's signature

Here's how it works... after loading image data stream (from the SignaturePad or png file), my GetVectorFromSignatureImage method will

  1. Process the image to have binary pixel positions (on/off) based on the lines
  2. Generate a collection of strokes (List<List<SKPoint>>) by grouping the pixels into strokes using a neighbor-fill algorithm
  3. That strokes collection is serialized into the data format you want and returns the string.

For now, I have two format options available: Svg or Custom (what Aaron wanted).

While this is just a proof of concept to use as a temporary holdover, it is a good headstart on achieving your goal.

Further Exploration

This is not the same thing as using that data string to "replay" the signature. This would still require a new feature to programmatically load/save the SKPath information directly in/out of the RadSignatureView. You can however directly access the internal SKCanvasView of the RadSignaturePad through the Content property. With this, you can hook into the PaintSurface event, and treat the canvas like you would any other SK canvas.

First, in the SignaturePad's loaded event handler, access the SKCanvasView and subsacribe to the PaintSurface event

Then, inside the PaintSurface event handler is where you can do the custom signature re-draw. 

This is something that you can pursue separately if you must be able to 'replay' a signature. Otherwise, I would recommend just using a byte column in the database, this allows the greatest level of cross platform compatibility as you only need to show an image instead.

Regards,
Lance | Senior Manager Technical Support
Progress Telerik

Your perspective matters! Join other professionals in the State of Designer-Developer Collaboration 2025: Workflows, Trends and AI survey to share how AI and new workflows are impacting collaboration, and be among the first to see the key findings.
Start the 2025 Survey
Attached Files:
ADMIN
Didi
Posted on: 29 Oct 2025 09:36

Hello Tom,

Thank you for your feedback. I can assure you we keep an eye on this item and track its demand. 

As for why this feature was not implemented when initially the control was released - we didn't consider providing this kind of data. The focus was on image export and the related features.

Regards,
Didi
Progress Telerik

Your perspective matters! Join other professionals in the State of Designer-Developer Collaboration 2025: Workflows, Trends and AI survey to share how AI and new workflows are impacting collaboration, and be among the first to see the key findings.
Start the 2025 Survey
Tom
Posted on: 28 Oct 2025 17:12
This is a sorely missing feature - why it wouldn't be included from the start is confusing. Why would you need it? To reload someone's signature without having to store image data and switch off / on visibility of controls.