Monday, May 11, 2009

SilverLight: get Path Geomatery Figures from PathGeometary object

/// pg is the pathgeomatery Object.
/// Tested on silverlight 2.0
string pathdata = "";
foreach (PathFigure item in pg.Figures)
{
pathdata = "M " + item.StartPoint.X + "," + item.StartPoint.Y;
foreach (PathSegment item1 in item.Segments)
{
if (item1.GetType() == typeof(LineSegment))
{
pathdata = pathdata + "L " + ((LineSegment)item1).Point.X + "," + ((LineSegment)item1).Point.Y;
}
else if (item1.GetType() == typeof(BezierSegment))
{
pathdata = pathdata + "C " + ((BezierSegment)item1).Point1.X + "," + ((BezierSegment)item1).Point1.Y + " " + ((BezierSegment)item1).Point2.X + "," + ((BezierSegment)item1).Point2.Y + " " + ((BezierSegment)item1).Point3.X + "," + ((BezierSegment)item1).Point3.Y;
}
}
if (item.IsClosed)
pathdata = pathdata + "Z";
}

No comments:

Post a Comment