Condividi tramite


Procedura: creare una geometria combinata

Aggiornamento: novembre 2007

In questo esempio viene illustrato come combinare le geometrie. Per combinare due geometrie, utilizzare un oggetto CombinedGeometry. Impostare le proprietà Geometry1 e Geometry2 con le due geometrie da combinare e impostare la proprietà GeometryCombineMode, che determina il modo in cui le geometrie saranno combinate insieme, su Union, Intersect, Exclude o Xor.

Per creare una geometria composta da due o più geometrie, utilizzare GeometryGroup.

Esempio

Nell'esempio riportato di seguito viene definito CombinedGeometry con una modalità di combinazione di geometrie impostata su Exclude. Geometry1 e Geometry2 sono entrambi definiti come cerchi dello stesso raggio, ma con un offset dei centri di 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>

Geometria combinata Exclude

Risultati della modalità di combinazione Exclude

Nel markup riportato di seguito viene definito CombinedGeometry con una modalità di combinazione Intersect. Geometry1 e Geometry2 sono entrambi definiti come cerchi dello stesso raggio, ma con un offset dei centri di 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>

Geometria combinata Intersect

Risultati della modalità di combinazione Intersect

Nel markup riportato di seguito viene definito CombinedGeometry con una modalità di combinazione Union. Geometry1 e Geometry2 sono entrambi definiti come cerchi dello stesso raggio, ma con un offset dei centri di 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>

Geometria combinata Union

Risultati della modalità di combinazione Union

Nel markup riportato di seguito viene definito CombinedGeometry con una modalità di combinazione Xor. Geometry1 e Geometry2 sono entrambi definiti come cerchi dello stesso raggio, ma con un offset dei centri di 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>

Geometria combinata Xor

Risultati della modalità di combinazione Xor