代码之家  ›  专栏  ›  技术社区  ›  Nemo

在绘制点之间画一条线

  •  1
  • Nemo  · 技术社区  · 8 年前

    我根据一些特征在图像上画一些点,然后我想用一条线把这些点连接起来

            List<Point> LinePoints = new List<Point>();
            LinePoints.Add(p1);
            LinePoints.Add(p2);
            LinePoints.Add(p3);
    

    在绘画事件中:

                Pen p = new Pen(Color.Blue);
                if (LinePoints.Count > 1)
                {
                    e.Graphics.DrawLines(p, LinePoints.ToArray());
                }
    

    在第一次绘制点之间的直线时,但在下一次迭代中
    我会在名单上加上其他几点 LinePoints 是的。
    在这种情况下,将删除旧的绘制线,并绘制下一条。
    但我不想删除旧的行。

    如何在添加到列表中的所有新点之间画线 线条点 不去掉旧的线条?

    1 回复  |  直到 8 年前
        1
  •  0
  •   TaW    8 年前

    创建点列表,如下所示:

    List<Point> LinePoints = new List<Point>();
    List<List<Point>> LinePointsSet = new List<List<Point>>();
    

    添加点集:

    LinePoints.Clear();
    LinePoints.Add(p1);
    LinePoints.Add(p2);
    LinePoints.Add(p3);
    LinePointsSet.Add(LinePoints.ToList());
    

    Paint 所有列表上的事件循环:

    foreach (var points in LinePointsSet)
    {
        if (points.Count > 1) e.Graphics.DrawLines(Pens.Blue, points.ToArray());
    }