Xamarin Forms MVVM (Prism) с Media.Plugin - Как получить снимок с устройства Камера - PullRequest
0 голосов
/ 09 марта 2020
How to take a picture by the camera and show in display before saving data.....

на странице ..

    <Image Source="{Binding ImageTakeFile2.source}" Grid.Column="0" WidthRequest="100" HeightRequest="100" HorizontalOptions="Start"/>

В ViewModel ..

private MediaFile _photo;
 _photo = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions
        { Directory = "Sample", Name = "test.jpg", PhotoSize = PhotoSize.MaxWidthHeight, MaxWidthHeight = imageSize });


ImageTakeFile2.Source = ImageSource.FromStream(() =>
     {
         var stream = _photo.GetStream();
         return stream;
     });

Ответы [ 2 ]

1 голос
/ 09 марта 2020

Использование:

ImageTakeFile2.Source = ImageSource.FromFile(_photo.Path);

. Источник должен быть объявлен как ImageSource

0 голосов
/ 09 марта 2020

Решено! ...

<Image Source="{Binding Img}"/> 

В ViewModel ...

  public ImageSource Img 
    {
        get { return _img; }
        set { _img = value;
            OnPropertyChanged("Img");
        }
    }  
  private MediaFile _photo; { get; set; }                                
  Img = ImageSource.FromFile(_photo.Path);
...