//创建绘图路径的对象gp,gpBase GraphicsPath gp = new GraphicsPath(); GraphicsPath gpBase = null; //往路径添加一条直线 gp.AddLine(150, 150, 150, 45); //再构造一个多边形 Point[] arrow = new Point[4]{ new Point(150,45), new Point(150-2,50), new Point(150+2,50), new Point(150,45) }; //把这个多边形也添加到gp gp.AddPolygon(arrow); //保存当前路径 gpBase = (GraphicsPath)gp.Clone(); //创建一个绘图图面 Graphics g = e.Graphics; //创建画笔 Pen aPen = new Pen(Brushes.Black, 4.0f); //绘制路径 g.DrawPath(aPen, gp); //填充 g.FillPath(Brushes.Black, gp); //释放画笔 aPen.Dispose(); //调出路径 gp = (GraphicsPath)gpBase.Clone(); //使用矩阵实现路径(gp)的旋转30° Matrix mTransform = new Matrix(); mTransform.RotateAt(30, new PointF(100, 100)); gp.Transform(mTransform); //使控件整个图面无效并导致重绘 Invalidate(); // Region r=new Region(GraphicsPath);