如何创建组合几何图形

此示例演示如何组合几何图形。 若要组合两个几何图形,请使用 CombinedGeometry 对象。 将其 Geometry1Geometry2 属性设置为要组合的两个几何图形,并将 GeometryCombineMode 属性设置为 UnionIntersectExcludeXor,以确定这些几何图形如何组合在一起。

若要从两个或多个几何图形创建复合几何图形,请使用 GeometryGroup

示例:

以下示例使用几何合并模式 CombinedGeometry 定义了 ExcludeGeometry1Geometry2 都定义为同一半径的圆圈,但中心偏移量为 50。

<Path Stroke="Black" StrokeThickness="1" Fill="#CCCCFF">
  <Path.Data>
    
    <!-- Combines two geometries using the exclude combine mode. -->
    <CombinedGeometry GeometryCombineMode="Exclude">
      <CombinedGeometry.Geometry1>
        <EllipseGeometry RadiusX="50" RadiusY="50" Center="75,75" />
      </CombinedGeometry.Geometry1>
      <CombinedGeometry.Geometry2>
        <EllipseGeometry RadiusX="50" RadiusY="50" Center="125,75" />
      </CombinedGeometry.Geometry2>
    </CombinedGeometry>
  </Path.Data>
</Path>

“排除”组合模式的结果
组合几何图形排除

以下标记使用合并模式 CombinedGeometry 定义了 IntersectGeometry1Geometry2 都定义为同一半径的圆圈,但中心偏移量为 50。

<Path Stroke="Black" StrokeThickness="1" Fill="#CCCCFF">
  <Path.Data>
    
    <!-- Combines two geometries using the intersect combine mode. -->
    <CombinedGeometry GeometryCombineMode="Intersect">
      <CombinedGeometry.Geometry1>
        <EllipseGeometry RadiusX="50" RadiusY="50" Center="75,75" />
      </CombinedGeometry.Geometry1>
      <CombinedGeometry.Geometry2>
        <EllipseGeometry RadiusX="50" RadiusY="50" Center="125,75" />
      </CombinedGeometry.Geometry2>
    </CombinedGeometry>
  </Path.Data>
</Path>

“相交”组合模式的结果
组合几何图形相交

以下标记使用合并模式 CombinedGeometry 定义了 UnionGeometry1Geometry2 都定义为同一半径的圆圈,但中心偏移量为 50。

<Path Stroke="Black" StrokeThickness="1" Fill="#CCCCFF">
  <Path.Data>
    
    <!-- Combines two geometries using the union combine mode. -->
    <CombinedGeometry GeometryCombineMode="Union">
      <CombinedGeometry.Geometry1>
        <EllipseGeometry RadiusX="50" RadiusY="50" Center="75,75" />
      </CombinedGeometry.Geometry1>
      <CombinedGeometry.Geometry2>
        <EllipseGeometry RadiusX="50" RadiusY="50" Center="125,75" />
      </CombinedGeometry.Geometry2>
    </CombinedGeometry>
  </Path.Data>
</Path>

“联合”组合模式的结果
组合几何图形合并

以下标记使用合并模式 CombinedGeometry 定义了 XorGeometry1Geometry2 都定义为同一半径的圆圈,但中心偏移量为 50。

<Path Stroke="Black" StrokeThickness="1" Fill="#CCCCFF">
  <Path.Data>
    
    <!-- Combines two geometries using the XOR combine mode. -->
    <CombinedGeometry GeometryCombineMode="Xor">
      <CombinedGeometry.Geometry1>
        <EllipseGeometry RadiusX="50" RadiusY="50" Center="75,75" />
      </CombinedGeometry.Geometry1>
      <CombinedGeometry.Geometry2>
        <EllipseGeometry RadiusX="50" RadiusY="50" Center="125,75" />
      </CombinedGeometry.Geometry2>
    </CombinedGeometry>
  </Path.Data>
</Path>

“Xor”组合模式的结果
组合几何图形异或