如何绘制几行的中间点?

时间:2018-06-15 10:58:28

标签: c# visual-studio winforms polygon

我是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();
}

0 个答案:

没有答案
相关问题