Partilhar via


Como: Criar uma geometria combinada

Este exemplo mostra como combinar geometrias. Para combinar duas geometrias, use um objeto CombinedGeometry. Defina suas propriedades Geometry1 e Geometry2 com as duas geometrias a serem combinadas e defina a propriedade GeometryCombineMode, que determina como as geometrias serão combinadas, para Union, Intersect, Excludeou Xor.

Para criar uma geometria composta a partir de duas ou mais geometrias, use um GeometryGroup.

Exemplo

No exemplo a seguir, um CombinedGeometry é definido com um modo de combinação de geometria do Exclude. Tanto o Geometry1 como o Geometry2 são definidos como círculos do mesmo raio, mas com centros deslocados por 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>

Resultados do modo de combinação Excluir
Geometria Combinada Excluir

Na marcação a seguir, um CombinedGeometry é definido com um modo de combinação de Intersect. Tanto o Geometry1 como o Geometry2 são definidos como círculos do mesmo raio, mas com centros deslocados por 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>

Resultados do modo de combinação Intersect
Intersecção de geometria combinada

Na marcação a seguir, um CombinedGeometry é definido com um modo de combinação de Union. Tanto o Geometry1 como o Geometry2 são definidos como círculos do mesmo raio, mas com centros deslocados por 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>

Resultados do modo de combinação da União
União de Geometria Combinada

Na marcação a seguir, um CombinedGeometry é definido com um modo de combinação de Xor. Tanto o Geometry1 como o Geometry2 são definidos como círculos do mesmo raio, mas com centros deslocados por 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>

Resultados do modo de combinação Xor
Geometria Combinada Xor