GraphicsPath gp = new GraphicsPath();
gp.AddRectangle(new Rectangle(1,1,10,20));
RectangleF pathBounds = gp.GetBounds();
Matrix m = new Matrix();
int rotation=30;
m.RotateAt(rotation, new PointF(pathBounds.Left + (pathBounds.Width / 2), pathBounds.Top + (pathBounds.Height / 2)), MatrixOrder.Append);
gp.Transform(m);
m.TransformPoints(PointsConnection);
大致是这样的
![](http://imgsrc.baidu.com/forum/w%3D580/sign=d07223d93d87e9504217f3642039531b/e38fe71190ef76c6c19dd7319a16fdfaaf51672a.jpg)