async void Capture() { await CrossMedia.Current.Initialize(); // Take photo if (CrossMedia.Current.IsCameraAvailable || CrossMedia.Current.IsTakePhotoSupported) { photo = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions { Name = "emotion.jpg", Directory = "Celula", PhotoSize = PhotoSize.Small }); if (photo != null) { image.Source = ImageSource.FromStream(photo.GetStream); } } else { await DisplayAlert("No Camera", "Camera unavailable.", "OK"); } try { if (photo != null) { using (var photoStream = photo.GetStream()) { Emotion[] emotionResult = await emotionClient.RecognizeAsync(photoStream); if (emotionResult.Any()) { // Emotions detected are happiness, sadness, surprise, anger, fear, contempt, disgust, or neutral. emotion.Text = TranslateEmotions.emotiones(emotionResult.FirstOrDefault().Scores.ToRankedList().FirstOrDefault().Key, result); } else { emotion.Text = "No emotion Detected"; } photo.Dispose(); } } } catch (Exception ex) { Debug.WriteLine(ex.Message); } photo.Dispose(); }
async void PickPhoto() { if (!CrossMedia.Current.IsPickPhotoSupported) { await DisplayAlert("Photos Not Supported", ":( Permission not granted to photos.", "OK"); return; } var photo = await CrossMedia.Current.PickPhotoAsync(new Plugin.Media.Abstractions.PickMediaOptions { PhotoSize = Plugin.Media.Abstractions.PhotoSize.Small }); if (photo == null) { return; } image.Source = ImageSource.FromStream(photo.GetStream); try { if (photo != null) { using (var photoStream = photo.GetStream()) { Emotion[] emotionResult = await emotionClient.RecognizeAsync(photoStream); if (emotionResult.Any()) { // Emotions detected are happiness, sadness, surprise, anger, fear, contempt, disgust, or neutral. emotion.Text = TranslateEmotions.emotiones(emotionResult.FirstOrDefault().Scores.ToRankedList().FirstOrDefault().Key, result); } else { emotion.Text = "No emotion Detected"; } photo.Dispose(); } } } catch (Exception ex) { Debug.WriteLine(ex.Message); } photo.Dispose(); }