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