Partager via


Comment : créer une géométrie combinée

Cet exemple montre comment combiner des géométries. Pour combiner deux géométries, utilisez un CombinedGeometry objet. Définissez ses Geometry1 propriétés avec Geometry2 les deux géométries à combiner et définissez la GeometryCombineMode propriété, qui détermine la façon dont les géométries seront combinées, sur Union, Intersectou ExcludeXor.

Pour créer une géométrie composite à partir de deux géométries ou plus, utilisez un GeometryGroup.

Exemple

Dans l’exemple suivant, une CombinedGeometry valeur est définie avec un mode de combinaison géométrique de Exclude. Les deux Geometry1 et les Geometry2 deux sont définis comme des cercles du même rayon, mais avec des centres décalés par 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 mode
Exclusion de géométrie combinée

Dans le balisage suivant, une CombinedGeometry valeur est définie avec un mode de combinaison de Intersect. Les deux Geometry1 et les Geometry2 deux sont définis comme des cercles du même rayon, mais avec des centres décalés par 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 mode
Intersection géométrique combinée

Dans le balisage suivant, une CombinedGeometry valeur est définie avec un mode de combinaison de Union. Les deux Geometry1 et les Geometry2 deux sont définis comme des cercles du même rayon, mais avec des centres décalés par 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 mode
Union géométrique combinée

Dans le balisage suivant, une CombinedGeometry valeur est définie avec un mode de combinaison de Xor. Les deux Geometry1 et les Geometry2 deux sont définis comme des cercles du même rayon, mais avec des centres décalés par 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 mode
Géométrie combinée Xor