/// <summary> /// Takes the picture. /// </summary> /// <returns>Take Picture Task.</returns> private async Task <MediaFile> TakePicture() { Setup(); ImageSource = null; return(await _mediaPicker.TakePhotoAsync(new CameraMediaStorageOptions { DefaultCamera = CameraDevice.Front, MaxPixelDimension = 400 }).ContinueWith(t => { if (t.IsFaulted) { Status = t.Exception.InnerException.ToString(); } else if (t.IsCanceled) { Status = "Canceled"; } else { var mediaFile = t.Result; ImageSource = ImageSource.FromStream(() => mediaFile.Source); return mediaFile; } return null; }, _scheduler)); }
/// <summary> /// Takes the picture. /// </summary> /// <returns>Take Picture Task.</returns> public async Task <MediaFile> TakePicture() { Setup(); ImageSource = null; return(await _mediaPicker.TakePhotoAsync(new CameraMediaStorageOptions { DefaultCamera = CameraDevice.Front, MaxPixelDimension = 400 }).ContinueWith(t => { if (t.IsFaulted) { Status = t.Exception.InnerException.ToString(); } else if (t.IsCanceled) { Status = "A task was canceled."; } else { var mediaFile = t.Result; Uri path = new Uri(mediaFile.Path); //ImageSource = Path.GetFileName(path.AbsoluteUri.ToString()); byte[] imgData = ReadStream(mediaFile.Source); Status = Path.GetFileName(path.AbsoluteUri.ToString()); ImageArray = imgData; ImageSource = ImageSource.FromStream(() => mediaFile.Source); return mediaFile; } return null; }, _scheduler)); }