我是C#的新手,请给出一些建议。在Windows窗体应用程序中,我在画布上有几个点,用线条(例如多边形)链接。我想计算线条的每个中间点并用点击按钮链接点,这样我就可以平滑多边形。
我编写了以下代码,但它没有将中点放到屏幕上,我不明白为什么。我在哪里犯了错误?
P是带点数的原始列表。 NewPoints是我的新列表,包含新的点。
private void button1_Click(object sender, EventArgs e)
{
NewPoints.Add(P[0]);
for (int i = 0; i < P.Count; i++)
{
NewPoints.Add(new Point( (P[i + 1].X+P[i].X)/2, (P[i + 1].Y + P[i].Y) / 2));
}
NewPoints.Add(P[P.Count - 1]);
P.Clear();
for (int j = 0; j < NewPoints.Count; j++)
P.Add(NewPoints[j]);
NewPoints.Clear();
canvas.Refresh();
}