code_junkie

WPF: How to apply a GeneralTransform to a Geometry data and return the new geometry?

Nov 12th, 2011
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. PathGeometry geometry = new PathGeometry();
  2. geometry.Figures.Add(new PathFigure(new Point(10, 10), new PathSegment[] { new LineSegment(new Point(10, 20), true), new LineSegment(new Point(20, 20), true) }, true));
  3. ScaleTransform transform = new ScaleTransform(2, 2);
  4. PathGeometry geometryTransformed = Geometry.Combine(geometry, geometry, GeometryCombineMode.Intersect, transform);
  5.  
  6. PathGeometry geometryTransformed = Geometry.Combine(Geometry.Empty, geometry, GeometryCombineMode.Union, transform);
  7.  
  8. Geometry inputGeometry = new PathGeometry();
  9. var inputGeometryClone = inputGeometry.Clone(); // we need a clone since in order to
  10. // apply a Transform and geometry might be readonly
  11. inputGeometryClone.Transform = new TranslateTransform(); // applying some transform to it
  12. var result = inputGeometryClone.GetFlattenedPathGeometry();
Add Comment
Please, Sign In to add comment