Condividi tramite


Procedura: Creare una geometria combinata

In questo esempio viene illustrato come combinare le geometrie. Per combinare due geometrie, utilizzare un oggetto CombinedGeometry. Imposta le proprietà Geometry1 e Geometry2 con le due geometrie da combinare e imposta la proprietà GeometryCombineMode, che determina come le geometrie verranno combinate, su Union, Intersect, Excludeo Xor.

Per creare una geometria composita da due o più geometrie, usare un GeometryGroup.

Esempio

Nell'esempio seguente viene definito un CombinedGeometry con una modalità di combinazione di geometria di Exclude. Sia Geometry1 che il Geometry2 sono definiti come cerchi dello stesso raggio, ma con centri scostati 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>

Risultati della modalità di combinazione escludi
Esclusione di geometria combinata

Nel markup seguente viene definito un CombinedGeometry con una modalità di combinazione di Intersect. Sia Geometry1 che il Geometry2 sono definiti come cerchi dello stesso raggio, ma con centri scostati 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>

Risultati della modalità di combinazione intersezione
Intersezione Geometria Combinata

Nel markup seguente viene definito un CombinedGeometry con una modalità combinata di Union. Sia Geometry1 che il Geometry2 sono definiti come cerchi dello stesso raggio, ma con centri scostati 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>

Risultati della modalità di combinazione per unione
Unione di geometrie combinate

Nel markup seguente viene definito un CombinedGeometry con una modalità di combinazione di Xor. Sia Geometry1 che il Geometry2 sono definiti come cerchi dello stesso raggio, ma con centri scostati 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>

Risultati della modalità di combinazione Xor
Geometria combinata XOR