我想找到下面显示的2点的角度。这是内容控制。基本上我想知道内容元素是否已被旋转。问题是我无法正确获得积分。角度计算不会成为问题。我jusy得不到正确的点坐标。任何帮助将不胜感激。
Point p1 = new Point(Convert.ToDouble(ctrl1.GetValue(Canvas.LeftProperty)),
Convert.ToDouble(ctrl1.GetValue(Canvas.TopProperty)) + ctrl1.ActualHeight);
Point p2 = new Point(Convert.ToDouble(ctrl1.GetValue(Canvas.LeftProperty)) + ctrl1.ActualWidth,
Convert.ToDouble(ctrl1.GetValue(Canvas.TopProperty))+ctrl1.ActualHeight);
上面的代码一直给我Y相同。 以下功能将给我一个角度。
const double Rad2Deg = 180.0 / Math.PI;
const double Deg2Rad = Math.PI / 180.0;
/// <summary>
/// Calculates angle in radians between two points and x-axis.
/// </summary>
private double Angle(Point start, Point end)
{
return Math.Atan2(start.Y - end.Y, end.X - start.X) * Rad2Deg;
}