Partilhar via


Como: Criar uma geometria combinada

Este exemplo mostra como combinar geometrias. Para combinar dois geometrias, use um objeto CombinedGeometry. Definir as propriedades Geometry1 e Geometry2 com as duas geometrias a serem combinadas e defina a propriedade GeometryCombineMode, que determina como as geometrias serão combinadas em conjunto, para Union,e Intersect,Exclude, ou Xor.

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

Exemplo

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

Combined Geometry Exclude

Resultados do modo de combinação Exclude

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

Combined Geometry Intersect

Resultados do modo de combinação Intersect

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

Combined Geometry Union

Resultados do modo de combinação Union

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

Combined Geometry Xor

Resultados do modo de combinação Xor