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

时间:2012-02-25 12:40:25

标签: c# windows-phone-7 xaml

我试图旋转<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 = ?;

任何人都知道如何应用转换?

1 个答案:

答案 0 :(得分:14)

您只需使用

即可
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(或者就此而言是银光)中,变换将照顾自己。