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 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>

Results of the Exclude combine modeResultados del modo de combinación Exclusiónmil_task_combined_geometry_exclude
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>

Results of the Intersect combine modeResultados del modo de combinación Intersecciónmil_task_combined_geometry_intersect
Intersecció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 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>

Results of the Union combine modeResultados del modo de combinación Uniónmil_task_combined_geometry_union
Unió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 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>

Results of the Xor combine modeResultados del modo de combinación Xormil_task_combined_geometry_xor
Xor de geometría combinada