Gewusst wie: Erstellen von kombinierten Geometrien

Aktualisiert: November 2007

Dieses Beispiel zeigt, wie Sie Geometrien kombinieren. Um zwei Geometrien zu kombinieren, verwenden Sie ein CombinedGeometry-Objekt. Legen Sie die Geometry1-Eigenschaft und die Geometry2-Eigenschaft des Objekts auf die zu kombinierenden Geometrien fest, und definieren Sie die GeometryCombineMode-Eigenschaft, um anzugeben, wie die Geometrien kombiniert werden sollen: Union, Intersect, Exclude oder Xor.

Um eine kombinierte Geometrie aus zwei oder mehr Geometrien zu erstellen, verwenden Sie eine GeometryGroup.

Beispiel

Im folgenden Beispiel wird eine CombinedGeometry definiert, wobei der Kombinationsmodus auf Exclude festgelegt ist. Sowohl Geometry1 als auch Geometry2 werden als Kreise mit identischem Radius definiert, deren Mittelpunkte jedoch um den Wert 50 versetzt sind.

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

Kombinierte Geometrie – Exclude

Ergebnisse des Exclude-Kombinationsmodus

Im folgenden Markup wird eine CombinedGeometry definiert, wobei der Kombinationsmodus auf Intersect festgelegt ist. Sowohl Geometry1 als auch Geometry2 werden als Kreise mit identischem Radius definiert, deren Mittelpunkte jedoch um den Wert 50 versetzt sind.

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

Kombinierte Geometrie – Intersect

Ergebnisse des Intersect-Kombinationsmodus

Im folgenden Markup wird eine CombinedGeometry definiert, wobei der Kombinationsmodus auf Union festgelegt ist. Sowohl Geometry1 als auch Geometry2 werden als Kreise mit identischem Radius definiert, deren Mittelpunkte jedoch um den Wert 50 versetzt sind.

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

Kombinierte Geometrie – Union

Ergebnisse des Union-Kombinationsmodus

Im folgenden Markup wird eine CombinedGeometry definiert, wobei der Kombinationsmodus auf Xor festgelegt ist. Sowohl Geometry1 als auch Geometry2 werden als Kreise mit identischem Radius definiert, deren Mittelpunkte jedoch um den Wert 50 versetzt sind.

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

Kombinierte Geometrie – Xor

Ergebnisse des Xor-Kombinationsmodus