Dela via


Anvisningar: Skapa en kombinerad geometri

Det här exemplet visar hur du kombinerar geometrier. Om du vill kombinera två geometrier använder du ett CombinedGeometry objekt. Ange dessas egenskaper för Geometry1 och Geometry2 med de två geometrier som ska kombineras och ange egenskapen GeometryCombineMode, som bestämmer hur geometrierna ska kombineras, till Union, Intersect, Excludeeller Xor.

Om du vill skapa en sammansatt geometri från två eller flera geometrier använder du en GeometryGroup.

Exempel

I följande exempel definieras en CombinedGeometry med det geometriska kombinationsläget Exclude. Både Geometry1 och Geometry2 definieras som cirklar med samma radie, men med center förskjutna med 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>

Resultat av kombinationsläget Exclude
Exkludera kombinerad geometri

I följande markup definieras en CombinedGeometry med kombinationsläget Intersect. Både Geometry1 och Geometry2 definieras som cirklar med samma radie, men med center förskjutna med 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>

Resultat av kombineringsläget Intersect
Kombinerad geometri korsning

I följande markering definieras en CombinedGeometry med kombinationsläget Union. Både Geometry1 och Geometry2 definieras som cirklar med samma radie, men med center förskjutna med 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>

Resultat av unionens kombineringsläge
Kombinerad geometrisk union

I följande markering definieras en CombinedGeometry med kombineringsläget Xor. Både Geometry1 och Geometry2 definieras som cirklar med samma radie, men med center förskjutna med 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>

Resultat av Xor-kombinationsläget
Kombinerad geometri Xor