WPF中旋转后如何使图像适合边框

use*_*920 3 wpf rotatetransform

我有一个边框,里面有一张图像。单击按钮即可将该图像旋转 90 度。这是我的原始图像 在此输入图像描述

下图是旋转后的样子 在此输入图像描述

正如您在旋转后可以看到的那样,我的图像不适合边框。我需要它完全填充边界。我在这里缺少什么?

Par*_*rag 5

我认为,您正在使用RenderTransform旋转图像。

相反,使用LayoutTransform.

查看示例:

<StackPanel>
    <Border Width="500" Height="300" BorderBrush="Black" BorderThickness="1">
        <Image Source="sombrero.jpg" Stretch="Fill" x:Name="img" HorizontalAlignment="Center" VerticalAlignment="Center">
        </Image>
    </Border>
    
    <Button Content="Rotate" Click="ButtonBase_OnClick"></Button>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

隐藏代码:

private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
    {
        img.LayoutTransform = new RotateTransform(90);
    }
Run Code Online (Sandbox Code Playgroud)

前:

在此输入图像描述

后:

在此输入图像描述

希望这可以帮助。