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