如何计算图像中两点之间的距离和答案应以像素数量为单位?
问题描述:
我在c#编程中并不擅长。我只是在学习它。我有一个小程序,我必须计算图像上由直线绘制的两点之间的距离,结果应该是它们之间的像素数。我需要画一条线,一旦我结束线,我应该得到一个像素数的答案。任何人都可以帮忙吗?如何计算图像中两点之间的距离和答案应以像素数量为单位?
答
你可以使用毕达哥拉斯定理。
假设你想在整数像素距离,围捕,然后以像素为单位给了他们之间的两个点的距离:
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);
}
你想怎么算的像素?这就像使用数学的矢量一样。考虑使用毕达哥拉斯定理 – 2013-03-13 11:22:24
是的你是对的。但是我很困惑,因此来到这里寻求帮助。 – Mightyking 2013-03-13 11:22:46
可能是重复http://stackoverflow.com/questions/10434833/get-number-of-pixels-between-two-points-in-an-image – Freelancer 2013-03-13 11:22:58