我想要旋转包含图像的图片框。图像将跟随鼠标旋转,但图像的位置是固定的。关于如何做的任何想法?顺便说一下,使用Visual Studio 2012 C#Windows Phone应用程序用于Windows Phone 8.我对谷歌进行了一些研究,但其他代码来自VS2012,使用的是WinForm但现在不同,我无法使用他们的代码。所以我希望我能在这里找到答案!
目前我有这个
private void arrowHead_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
Duration Time_duration = new Duration(TimeSpan.FromSeconds(0.5));
Storyboard MyStory = new Storyboard();
MyStory.Duration = Time_duration;
DoubleAnimation My_Double = new DoubleAnimation();
My_Double.Duration = Time_duration;
MyStory.Children.Add(My_Double);
RotateTransform MyTransform = new RotateTransform();
Storyboard.SetTarget(My_Double, MyTransform);
Storyboard.SetTargetProperty(My_Double, new PropertyPath("Angle"));
My_Double.To = 15;
arrowHead.RenderTransform = MyTransform;
arrowHead.RenderTransformOrigin = new Point(0.5, 0.5);
//stackPanel1.Children.Add(image1);
MyStory.Begin();
}
这是我工作的print screen。我想根据我的鼠标让红色箭头移动。 谢谢!
答案 0 :(得分:0)
您需要获取鼠标偏离某个参考点的角度。这是我将如何做到这一点。我不是C#开发人员,所以我不能为此提供代码,但我可以解释所涉及的原则:
(100, 80)
且图像中心位于(50, 50)
,那么差异为(50, 30)
。StartAngle
。StartAngle
,而是从StartAngle中减去它。你现在拥有的是DeltaAngle
,即你开始旋转图像和鼠标当前位置之间的旋转差异。DeltaAngle
应用于图像作为旋转度。