Guest User

Untitled

a guest
May 22nd, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.68 KB | None | 0 0
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
  4. x:Class="Radical.Views.DocketSignaturePad"
  5. xmlns:acr="clr-namespace:Acr.XamForms.SignaturePad;assembly=Acr.XamForms.SignaturePad"
  6. Title="DocketSignaturePad">
  7. <ScrollView>
  8. <StackLayout Padding="10">
  9. <acr:SignaturePadView
  10. x:Name="padView"
  11. HeightRequest="320"
  12. WidthRequest="240"
  13.  
  14. BackgroundColor="White"
  15. CaptionText="Caption This"
  16. CaptionTextColor="Black"
  17. ClearText="Clear Me!"
  18. ClearTextColor="Red"
  19. PromptText="Prompt Here"
  20. PromptTextColor="Red"
  21. SignatureLineColor="Aqua"
  22. StrokeColor="Black"
  23. StrokeWidth="2"
  24. />
  25.  
  26. <Button Clicked="OnChangeTheme" Text="Change Theme" />
  27. <Button Clicked="SaveSignature" Text="Save signature"/>
  28. <Image x:Name="signatureImage" WidthRequest="300" HeightRequest="100" BackgroundColor="Blue"/>
  29. </StackLayout>
  30. </ScrollView>
  31. </ContentPage>
  32.  
  33. async void SaveSignature(object sender, EventArgs e)
  34. {
  35.  
  36. List<DrawPoint> signaturePoints = padView.GetDrawPoints().ToList();
  37.  
  38. if (signaturePoints.Count > 0)
  39. {
  40. Stream imageAsBytes = new MemoryStream(ReadFully(padView.GetImage(ImageFormatType.Jpg)));
  41. signatureImage.Source = ImageSource.FromStream(() => new MemoryStream(ReadFully(padView.GetImage(ImageFormatType.Jpg))));
  42. }
  43. }
  44.  
  45. public static byte[] ReadFully(Stream input)
  46. {
  47. using (MemoryStream ms = new MemoryStream())
  48. {
  49. input.CopyTo(ms);
  50. return ms.ToArray();
  51. }
  52.  
  53.  
  54. //byte[] buffer = new byte[16 * 1024];
  55. //using (MemoryStream ms = new MemoryStream())
  56. //{
  57. // int read;
  58. // while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
  59. // {
  60. // ms.Write(buffer, 0, read);
  61. // }
  62. // return ms.ToArray();
  63. //}
  64.  
  65.  
  66. }
  67.  
  68. void SaveSignature(object sender, EventArgs e)
  69. {
  70. List<DrawPoint> signaturePoints = padView.GetDrawPoints().ToList();
  71. if (signaturePoints.Count > 0)
  72. {
  73. Stream s = padView.GetImage(ImageFormatType.Png);
  74. //s.Position = 0; or
  75. s.Seek(0,SeekOrigin.Begin);
  76. signatureImage.Source = ImageSource.FromStream(() => { return s; });
  77. }
  78. }
Add Comment
Please, Sign In to add comment