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

Jas*_*n94 3 c# xaml windows-phone-7

我试图旋转一个<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 = ?;
Run Code Online (Sandbox Code Playgroud)

任何人都对如何应用转换有了一个好主意?

Syn*_*der 14

你可以简单地使用

imgWind.RenderTransform = new RotateTransform(){ CenterX = 0.5, CenterY = 0.5, Angle = 45 };
Run Code Online (Sandbox Code Playgroud)

或者在XAML中:

<UIElement RenderTransformOrigin="0.5,0.5">
      <UIElement.RenderTransform>
      <RotateTransform CenterX="0.5" CenterY="0.5" Angle="45" />
      </UIElement.RenderTransform>
</UIElement>
Run Code Online (Sandbox Code Playgroud)

通过设置CenterX和CenterY,您无需在之前和之后进行翻译.在WPF(或者就此而言是银光)中,变换将照顾自己.