Compartir a través de


Cómo: Crear una geometría combinada

Actualización: noviembre 2007

En este ejemplo se muestra cómo combinar geometrías. Para combinar dos geometrías, utilice un objeto CombinedGeometry. Establezca sus propiedades Geometry1 y Geometry2 en las dos geometrías que desea combinar y establezca la propiedad GeometryCombineMode, que determina cómo se combinarán entre sí las geometrías, en Union, Intersect, Exclude o Xor.

Para crear una geometría compuesta a partir de dos o más geometrías, utilice un objeto GeometryGroup.

Ejemplo

En el ejemplo siguiente, se define un objeto CombinedGeometry con el modo de combinación de geometría Exclude. Tanto Geometry1 como Geometry2 se definen como círculos del mismo radio, pero con los centros desplazados en 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>

Geometría combinada con el valor Exclude
Resultados del modo de combinación Exclude

En el marcado siguiente, se define una CombinedGeometry con el modo de combinación Intersect. Tanto Geometry1 como Geometry2 se definen como círculos del mismo radio, pero con los centros desplazados en 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>

Geometría combinada con el valor Intersect
Resultados del modo de combinación Intersect

En el marcado siguiente, se define una CombinedGeometry con el modo de combinación Union. Tanto Geometry1 como Geometry2 se definen como círculos del mismo radio, pero con los centros desplazados en 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>

Geometría combinada con el valor Union
Resultados del modo de combinación Union

En el marcado siguiente, se define una CombinedGeometry con el modo de combinación Xor. Tanto Geometry1 como Geometry2 se definen como círculos del mismo radio, pero con los centros desplazados en 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>

Geometría combinada con el valor Xor
Resultados del modo de combinación Xor