-4

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

4

1 回答 1

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);
}
于 2013-03-13T11:33:29.797 回答