Compartir a través de


Cómo: Crear una geometría combinada

En este ejemplo se muestra cómo combinar geometrías. Para combinar dos geometrías, use un CombinedGeometry objeto . 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 un GeometryGroup.

Ejemplo

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

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

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

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