如何在XAML/C#中旋转图像

4

我正在尝试旋转一个箭头的 <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个回答

15

你可以简单地使用

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(或silverlight)中,变换将自行处理。


太准确了!谢谢你提供的XAML! - Jason94

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接