我有这样的代码:
RotateTransform transform = myImage.RenderTransform as RotateTransform;
transform.Angle = 25.0;
myImage.RenderTransform = transform;它设置我的Angle元素Image ..。它起作用了,但是它并没有像我预期的那样移动太多。
我只是想知道Angle是否是建立在图像的右手角的基础上的?那么,它是否将图像从图像的右边旋转25度?
发布于 2015-10-13 00:13:34
旋转角度为顺时针方向的360度。这意味着,实际上,25学位把它移动到了1点左右。如果你想指向右边,那就是90度。直线向下是180度。

讲得通?看看这个:

下面是一些帮助您测试的代码:
<StackPanel Width="200" Margin="0,50">
<Grid Width="100" Height="100" Background="SteelBlue" RenderTransformOrigin=".5,.5">
<UIElement.RenderTransform>
<RotateTransform Angle="{Binding Value, ElementName=MySlider}" />
</UIElement.RenderTransform>
<Line HorizontalAlignment="Center" VerticalAlignment="Top"
Stroke="Goldenrod" StrokeThickness="4"
X1="2" X2="2"
Y1="0" Y2="40" />
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White">
<Run Text="{Binding Value, ElementName=MySlider}" />
<Run Text="degrees" />
</TextBlock>
</Grid>
<Slider x:Name="MySlider" Maximum="360" Minimum="0" Value="25" />
</StackPanel>确保并注意到RenderTransformOrigin=".5,.5"位。这对你来说非常重要,因为它决定了旋转轴的位置。值从0到1。所以0,0基本上是上/左,1,1是底部/右边。这使.5,.5处于中间。
祝你好运!
https://stackoverflow.com/questions/33085362
复制相似问题