private async void btnSave_Clicked(object sender, EventArgs e) { Stream image = await SignatureView.GetImageStreamAsync(SignaturePad.Forms.SignatureImageFormat.Png); CSignature unterschrift = new CSignature(); unterschrift.Name = EntryName.Text; unterschrift.Id = Guid.NewGuid(); unterschrift.Signature1 = ReadFully(image); // serializeData(points); bool rc = await App.restManager.SetSignatureAsync(unterschrift); if (rc) { if (_listIndex == 0) { rc = await App.restManager.SetSignatureAssign(unterschrift.Id.ToString(), _actOrderAchievement.IdOrder.ToString(), _actOrderAchievement.DateTimeAchie); _actOrderAchievement.IdSignature = unterschrift.Id; } else if (_listIndex == 1) { rc = await App.restManager.SetSignatureAssign(unterschrift.Id.ToString(), _actOrderAchievement.IdOrder.ToString(), DateTime.MinValue); _actOrderAchievement.IdSignatureOrder = unterschrift.Id; } DependencyService.Get <IMessage>().ShortAlert("Unterschrift gespeichert."); } await Navigation.PopModalAsync(); }
private async void OnGetImage(object sender, EventArgs e) { var settings = new ImageConstructionSettings { Padding = 12, StrokeColor = Color.FromRgb(25, 25, 25), BackgroundColor = Color.FromRgb(225, 225, 225), DesiredSizeOrScale = 2f }; var image = await SignatureView.GetImageStreamAsync(SignatureImageFormat.Png, settings); if (image != null) { /* * DataSource.SignatureImage = new Image * { * Aspect = Aspect.AspectFit, * Source = ImageSource.FromStream(() => image) * }; */ DataSource.SignatureStream = image; } await Navigation.PopModalAsync(); }
async void copystreamtoVM(CloseStopVM vm) { Dispatcher.BeginInvokeOnMainThread((Action)(async() => { using (var bitmap = await SignatureView.GetImageStreamAsync(SignatureImageFormat.Png, Color.Black, Color.White, 1f)) { MemoryStream signatureMemoryStream = new MemoryStream(); bitmap.CopyToAsync(signatureMemoryStream, (int)bitmap.Length); vm.Signature = signatureMemoryStream.ToArray(); } }) ); }
protected override void OnBindingContextChanged() { base.OnBindingContextChanged(); var vm = (CloseStopVM)BindingContext; // Warning, the BindingContext View <-> ViewModel is already set vm.SignatureFromStream = async() => { if (SignatureView.Points.Count() > 0) { using (var stream = await SignatureView.GetImageStreamAsync(SignaturePad.Forms.SignatureImageFormat.Png)) { return(await ImageConverter.ReadFully(stream)); } } return(await Task.Run(() => (byte[])null)); }; }