Partager via


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

Mise à jour : novembre 2007

Cet exemple indique comment combiner des géométries. Pour combiner deux géométries, utilisez un objet CombinedGeometry. Définissez ses propriétés Geometry1 et Geometry2 avec les deux géométries à combiner, et attribuez à la propriété GeometryCombineMode, qui détermine la manière dont les géométries seront combinées ensemble, la valeur Union, Intersect, Exclude ou Xor.

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

Exemple

Dans l'exemple suivant, un CombinedGeometry est renseigné par le mode de géométrie combinée Exclude. Geometry1 et Geometry2 sont définis tous les deux comme des cercles de même rayon mais avec des centres décalés de 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>

Géométrie combinée Exclude

Résultats du mode de combinaison Exclure

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

Géométrie combinée Intersect

Résultats du mode de combinaison Intersection

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

Géométrie combinée Union

Résultats du mode de combinaison Union

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

Géométrie combinée Xor

Résultats du mode de combinaison Xor