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


有人对我如何应用转换有一个好主意吗?

最佳答案

您可以简单地使用

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中(或对此而言),转换将自行处理。

10-07 23:08