Compartir vía


Cómo: Crear una geometría combinada

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

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

Ejemplo

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

En el marcado siguiente, se define CombinedGeometry con un modo combinado de Intersect. Tanto Geometry1 como Geometry2 se definen como círculos del mismo radio, pero cuyos centros se desplazan 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 del modo de combinación Intersección
Intersección de geometría combinada

En el marcado siguiente, se define CombinedGeometry con un modo combinado de Union. Tanto Geometry1 como Geometry2 se definen como círculos del mismo radio, pero cuyos centros se desplazan 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 del modo de combinación Unión
Unión de geometría combinada

En el marcado siguiente, se define CombinedGeometry con un modo combinado de Xor. Tanto Geometry1 como Geometry2 se definen como círculos del mismo radio, pero cuyos centros se desplazan 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 del modo de combinación Xor
Xor de geometría combinada