예제 #1
0
        private async void BtnCam_Clicked(object sender, EventArgs e)
        {
            try
            {
                App.IsWorks = false;
                var photo = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions()
                {
                    DefaultCamera = Plugin.Media.Abstractions.CameraDevice.Rear,
                    Directory     = "Xamarin",
                    SaveToAlbum   = true
                });

                if (photo != null)
                {
                    this.Title      = "Choose a central point of a wound";
                    targetImageByte = ImagePreprocessing.GetByteArrayFromStream(photo.GetStream());
                    var imagesource = ImagePreprocessing.GetImageSourceFromByteArray(targetImageByte);
                    CurrentReport.Instance.StandardImagePath = photo.AlbumPath;
                    imgCam.Source = imagesource;
                    //  System.Drawing.Bitmap bitmap = ImagePreprocessing.GetBitmapFromImageSource(ImagePreprocessing.GetImageSourceFromByteArray(TargetImageByte));
                    // Mat
                    //   ImagePreprocessing.GetImage(TargetImageByte);
                    //       Image<Gray, byte> grayFrame = new Image<Gray, byte>(ImagePreprocessing.GetImageSourceFromByteArray(TargetImageByte).ToString());

                    //    imgCam.Source = ImagePreprocessing.GetImageSourceFromByteArray(TargetImageByte);
                    //  Accord.Imaging.Image.SetGrayscalePalette(bitmap);
                    //var a =    ImagePreprocessing.GetBitmapFromStream(photo.GetStream());

                    //    using (var stream = new MemoryStream())
                    //    {
                    // //       bitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
                    ////        imgCam.Source = ImageSource.FromStream(() => stream);
                    //    }
                }
                // byte[] imageArray = System.IO.File.ReadAllBytes(photo.Path);
                //   System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(imgCam.Source);  // Android.Graphics.BitmapFactory.DecodeByteArray(imageArray,0 ,imageArray.Length).to;
            }
            catch (Exception ex)
            {
                await DisplayAlert("Error", ex.Message.ToString(), "Ok");
            }
        }