Ejemplo n.º 1
0
        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));
            };
        }