Assinatura – Xamarin.Forms

Olá, neste post irei demonstrar como a sua aplicação Xamarin.Forms pode ter a opção de ler uma assinatura.

Para este exemplo irei assumir que você já criou sua aplicação Xamarin.Forms, caso possua alguma dúvida sobre isso, recomendo ler o post Criando um projeto Xamarin.Forms.

 

ADICIONANDO O NUGET PACKAGE

Clique com o botão direito em cima de sua Solution e selecione “Manage NuGet Packages for Solution…”.

1

 

Digite “Xamarin.Controls.SignaturePad.Forms” e selecione o plugin como demonstrado na imagem a seguir.

2

 

Selecione todos os projetos e clique no botão “Install”.

2

Xaml

Comece referenciando o namespace do SignaturePad.Forms, em seguida adicione um SignaturePadView e edite algumas de suas propriedades, como por exemplo:

  • StrokeWidth  – Espessura do texto.
  • StrokeColor – Cor do texto.
  • CaptionText – Texto que aparecerá em baixo da linha.
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:forms="clr-namespace:SignaturePad.Forms;assembly=SignaturePad.Forms"
x:Class="SignaturePadDemo.MainPage">
<StackLayout>
<forms:SignaturePadView StrokeWidth="5"
WidthRequest="280"
HeightRequest="350"
BackgroundColor="White"
StrokeColor="Black"
CaptionText="Assinatura"
x:Name="Pad">
</forms:SignaturePadView>
<Button Clicked="Save" Text="Save"/>
</StackLayout>
</ContentPage>

view raw
MainPage.xaml
hosted with ❤ by GitHub

C#

Para salvar a assinatura em forma de imagem, utilize o método GetImageStreamAsync que retorna um Stream.

public async void Save(object sender, EventArgs eventArgs)
{
Stream stream = await Pad.GetImageStreamAsync(SignatureImageFormat.Jpeg);
}

view raw
Save.cs
hosted with ❤ by GitHub

Resultado

Android

ezgif.com-gif-maker

 

 

iOS

ezgif.com-gif-maker (4)

 

Esse e todos os exemplos deste blog encontram-se disponíveis no GitHub.

icongithub

5 comentários em “Assinatura – Xamarin.Forms

  1. Boa noite. Esse código roda perfeitamente. Mas tenho uma dúvida. Onde a imagem é salva? No próprio dispositivo? Dá pra chamar um webservice atraves desse resultado e enviar a imagem por exemplo? Saberia me dizer? Obg

    Curtir

    1. Olá Robson, este exemplo não está salvando a imagem. Caso você queira salvar recomendo você converter o Stream para Byte[] e salvar utilizando “System.IO.File.WriteAllBytes”.
      Caso você queira enviar para o webservice, recomendo converter a imagem para Base64. Espero ter ajudado

      Curtir

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s