如何在 WPF 中旋转后使图像适合边框
How to fit the image to to border after rotation in WPF
我有一个边框,里面有一张图片。在按钮上单击我将该图像旋转到 90 度。
这是我的原始图像
下图是旋转后的
如您所见,旋转后我的图像不适合边框。我需要它完全填满边界。这里缺少什么?
我认为,您正在使用 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>
代码隐藏:
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
img.LayoutTransform = new RotateTransform(90);
}
之前:
之后:
希望对您有所帮助。
我有一个边框,里面有一张图片。在按钮上单击我将该图像旋转到 90 度。
这是我的原始图像
下图是旋转后的
如您所见,旋转后我的图像不适合边框。我需要它完全填满边界。这里缺少什么?
我认为,您正在使用 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>
代码隐藏:
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
img.LayoutTransform = new RotateTransform(90);
}
之前:
之后:
希望对您有所帮助。