如何:创建组合的几何图形

此示例演示如何组合几何图形。 若要组合两个几何图形,请使用 CombinedGeometry 对象。 对要组合的两个几何图形,设置该对象的 Geometry1Geometry2 属性,并将 GeometryCombineMode 属性(确定如何将这两个几何图形组合在一起)设置为 Union、Intersect、Exclude 或 Xor。

若要通过两个或两个以上的几何图形创建复合几何图形,可使用 GeometryGroup

示例

在下面的示例中,用 Exclude 几何图形组合模式定义了一个 CombinedGeometryGeometry1Geometry2 定义为半径相同的圆,但是中心偏离 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>

使用 Exclude 模式组合的几何图形

“排除”组合模式的结果

在下面的标记中,用 Intersect 组合模式定义了一个 CombinedGeometryGeometry1Geometry2 定义为半径相同的圆,但是中心偏离 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>

使用 Intersect 模式组合的几何图形

“相交”组合模式的结果

在下面的标记中,用 Union 组合模式定义了一个 CombinedGeometryGeometry1Geometry2 定义为半径相同的圆,但是中心偏离 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>

使用 Union 模式组合的几何图形

“联合”组合模式的结果

在下面的标记中,用 Xor 组合模式定义了一个 CombinedGeometryGeometry1Geometry2 定义为半径相同的圆,但是中心偏离 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 模式组合的几何图形

Xor 组合模式的结果