static d.PointF AddToPath(this PolyLineSegment segment, d.PointF startPoint, d2.GraphicsPath path) { d.PointF[] points = new d.PointF[segment.Points.Count + 1]; var i = 0; points[i++] = startPoint; foreach(var p in segment.Points) points[i++] = p.ToGdiPlus(); path.AddLines(points); return points[i - 1]; }