如何计算图像中两点之间的距离,答案应该是像素数?

时间:2013-03-13 11:19:20

标签: c#

我在c#编程方面不太好。我只是在学习它。我有一个小程序,我必须计算图像上一条直线绘制的两点之间的距离,结果应该是它们之间的像素数。我需要绘制一条线,一旦我结束线,我应该得到像素数的答案。有人可以帮忙吗?

1 个答案:

答案 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);
}