如何在xaml/c#中旋转图像

本文关键字:旋转 图像 xaml | 更新日期: 2023-09-27 18:25:51

Im试图旋转箭头的<Image>(位于40x40图像的中间)。根据我在图形类中的记忆,我需要首先将图像翻译回其中心,旋转,然后再翻译回:

            TranslateTransform tTrans = new TranslateTransform();
            tTrans.X -= 20;
            tTrans.X -= 20;
            RotateTransform rTrans = new RotateTransform();
            rTrans.Angle = 60;
            TranslateTransform t2Trans = new TranslateTransform();
            tTrans.X += 20;
            tTrans.X += 20;
            imgWind.RenderTransform = ?;

有人知道我如何应用转换吗?

如何在xaml/c#中旋转图像

您可以简单地使用

imgWind.RenderTransform = new RotateTransform(){ CenterX = 0.5, CenterY = 0.5, Angle = 45 };

或者在XAML中:

<UIElement RenderTransformOrigin="0.5,0.5">
      <UIElement.RenderTransform>
      <RotateTransform CenterX="0.5" CenterY="0.5" Angle="45" />
      </UIElement.RenderTransform>
</UIElement>

通过设置CenterX和CenterY,您不必前后平移。在WPF(或者银光灯)中,变换会自己处理这些问题。