Geometry.Combine Method (Geometry, Geometry, GeometryCombineMode, Transform)
Combines the two geometries using the specified GeometryCombineMode and applies the specified transform to the resulting geometry.
Namespace: System.Windows.Media
Assembly: PresentationCore (in PresentationCore.dll)
public static PathGeometry Combine( Geometry geometry1, Geometry geometry2, GeometryCombineMode mode, Transform transform )
Parameters
- geometry1
- Type: System.Windows.Media.Geometry
The first geometry to combine.
- geometry2
- Type: System.Windows.Media.Geometry
The second geometry to combine.
- mode
- Type: System.Windows.Media.GeometryCombineMode
One of the enumeration values that specifies how the geometries are combined.
- transform
- Type: System.Windows.Media.Transform
A transformation to apply to the combined geometry, or null.
This method uses the default tolerance factor (described by the StandardFlatteningTolerance property) when combining geometries. To specify your own tolerance factor, use the Combine method.
Some Geometry methods (such as Combine) produce or use a polygonal approximation of the geometry. The tolerance factor specifies the maximum distance between points in this polygonal approximation. Smaller tolerance values produce better approximations, but require more processing than an approximation with a large tolerance factor.
Careful thought should be involved when using Combine to perform a union as it can be very CPU-expensive. In most cases, a GeometryGroup or AddGeometry will work better.
Use Combine only when any of the following apply:
The geometric operation is not a union.
Either of the geometries has a FillRule value of EvenOdd and the geometries are self-intersecting (i.e. the FillRule actually matters).
Time is not a concern, but space is (for instance, if the geometry is created once and then cached). Typically, Combine produces smaller output than AddGeometry.
The resulting geometry will be stroked or used in a path animation and AddGeometry does not provide the desired outline.
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.