如何计算图像中两点之间的距离和答案应以像素数量为单位?

问题描述:

我在c#编程中并不擅长。我只是在学习它。我有一个小程序,我必须计算图像上由直线绘制的两点之间的距离,结果应该是它们之间的像素数。我需要画一条线,一旦我结束线,我应该得到一个像素数的答案。任何人都可以帮忙吗?如何计算图像中两点之间的距离和答案应以像素数量为单位?

+0

你想怎么算的像素?这就像使用数学的矢量一样。考虑使用毕达哥拉斯定理 – 2013-03-13 11:22:24

+0

是的你是对的。但是我很困惑,因此来到这里寻求帮助。 – Mightyking 2013-03-13 11:22:46

+0

可能是重复http://stackoverflow.com/questions/10434833/get-number-of-pixels-between-two-points-in-an-image – Freelancer 2013-03-13 11:22:58

你可以使用毕达哥拉斯定理。

假设你想在整数像素距离,围捕,然后以像素为单位给了他们之间的两个点的距离:

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