Как правильно изменить размер фотографии в CameraCaptureTask?

Я использую следующий код, чтобы сделать фотографию в своем приложении, но когда я принимаю фотографию, изображение растягивается, но когда я ухожу от этой страницы и снова к ней, разрешение изображения правильное, хотя часть изображения черный. мой вопрос, как я могу правильно отобразить изображение без его растяжения.

  CameraCaptureTask cam = new CameraCaptureTask();
        cam.Completed += task_Completed;

        cam.Show();



  void task_Completed(object sender, PhotoResult e)
    {
        if (e.TaskResult == TaskResult.OK)
        {
            System.Windows.Media.Imaging.BitmapImage bmp = new System.Windows.Media.Imaging.BitmapImage();
            bmp.SetSource(e.ChosenPhoto);
            imgProfilePic.ImageSource = bmp;
}

и XAML это:

 <Button HorizontalAlignment="Center" 
                        toolkit:TurnstileFeatherEffect.FeatheringIndex="2"
                        toolkit:TiltEffect.IsTiltEnabled="True"
                        x:Name="btnprofilepic" 
                        Width="250"
                        HorizontalContentAlignment="Center" 
                        VerticalContentAlignment="Center"
                        MouseLeave="btnprofilepic_MouseLeave" 
                        Tap="imgProfilePic_Tap"
                        Margin="0,20,0,20"
                        Height="200"                            BorderThickness="0"
                        MouseLeftButtonUp="btnprofilepic_MouseLeftButtonUp"
                        MouseLeftButtonDown="btnprofilepic_MouseLeftButtonDown">
                    <Button.Background>
                        <ImageBrush x:Name="imgProfilePic"
                                Stretch="Fill"   />
                    </Button.Background>
                </Button>

1 ответ

Решение

В вашем xaml make strech = "Uniform", потому что fill будет растягивать изображение в соответствии с контейнером...

Другие вопросы по тегам