我在c#编程方面不太好。我只是在学习它。我有一个小程序,我必须计算图像上一条直线绘制的两点之间的距离,结果应该是它们之间的像素数。我需要绘制一条线,一旦我结束线,我应该得到像素数的答案。有人可以帮忙吗?
答案 0 :(得分:1)
你可以使用毕达哥拉斯定理。
假设你想要整数像素的距离,向上舍入,然后给出两个点,它们之间的距离以像素为单位:
public static int Distance(Point p1, Point p2)
{
int dx = p1.X - p2.X;
int dy = p1.Y - p2.Y;
double distance = Math.Sqrt(dx*dx + dy*dy);
return (int) Math.Round(distance, MidpointRounding.AwayFromZero);
}