Rye*_*Rye 7 c# gdi measurement distance winforms
我可以计算水平和垂直点,但我无法弄清楚如何使用对角点计算距离.有人可以帮我弄这个吗.
这是我的水平和垂直测量的代码:
private float ComputeDistance(float point1, float point2)
{
float sol1 = point1 - point2;
float sol2 = (float)Math.Abs(Math.Sqrt(sol1 * sol1));
return sol2;
}
protected override void OnMouseMove(MouseEventArgs e)
{
_endPoint.X = e.X;
_endPoint.Y = e.Y;
if (ComputeDistance(_startPoint.X, _endPoint.X) <= 10)
{
str = ComputeDistance(_startPoint.Y, _endPoint.Y).ToString();
}
else
{
if (ComputeDistance(_startPoint.Y, _endPoint.Y) <= 10)
{
str = ComputeDistance(_startPoint.X, _endPoint.X).ToString();
}
}
}
Run Code Online (Sandbox Code Playgroud)
假设已经设置了_startPoint.

在这张图片中,对角点显然是错误的.
And*_*per 18
你需要使用毕达哥拉斯定理.
d = Math.Sqrt(Math.Pow(end.x - start.x, 2) + Math.Pow(end.y - start.y, 2))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11065 次 |
| 最近记录: |