仅更新pathgraphic

时间:2011-09-13 14:15:09

标签: graphics c#-3.0

我使用以下代码绘制如下行

        private void Form1_Paint(object sender, PaintEventArgs e)
    {
        base.OnPaint(e); 
        path = new GraphicsPath(new Point[]{ new Point(10, 10),
                                           new Point(100, 100)  }  ,
           new byte[] {(byte)PathPointType.Start,
                      (byte)PathPointType.Line });
        e.Graphics.DrawPath(Pens.Red, path);
    }

我需要点击一个按钮来改变路径并重新绘制它,所以我使用

private void button1_Click(object sender, EventArgs e)
    {


        for (int i = 0; i < path.PointCount; i++)
        {

            path.PathPoints[i].X += 100;
            path.PathPoints[i].Y += 100;


        }


         Invalidate();



        //path.

    }

问题没有影响,我不想刷新我画的容器

1 个答案:

答案 0 :(得分:0)

首先,它不会给你带来任何影响,因为你总是在OnPaint中创建一个新路径。结果你有相同的图片。为了更改它,您至少需要将路径创建移动到构造函数或其他初始化方法

其次,PathPointPointF的数组,PointF是一个结构,因此它是不可变的,你不会通过这样做获得数组中的新点 - {{1 }}