我只想旋转图像,因此我正在执行布局变换(旋转变换)而不是渲染变换。由于布局变换按预期旋转图像(图像适合新尺寸)。我还想翻转图像,为此使用渲染变换(缩放变换)。单独做时两者都可以正常工作。当我翻转后旋转时,图像定位不正确,反之亦然。
<Grid x:Name="grid1" Grid.Row="0" SizeChanged="Grid1_SizeChanged" >
<Image x:Name="image1" Source="Images/butterfly.jpg" />
</Grid>
private void Flip_Click(object sender, RoutedEventArgs e)
{
int scaleX = -1;
if (i % 2 == 0)
scaleX = -1;
else
scaleX = 1;
grid1.RenderTransformOrigin = new Point(0.5, 0.5);
ScaleTransform scale = new ScaleTransform();
scale.ScaleX = scaleX;
grid1.RenderTransform = scale;
i++;
}
private void Rotate_Click(object sender, RoutedEventArgs e)
{
grid1.RenderTransformOrigin = new Point(0.5, 0.5);
RotateTransform rotate = new RotateTransform();
rotate.Angle = angle;
grid1.LayoutTransform = rotate;
angle += 90;
}