次の方法で共有


方法: 結合ジオメトリを作成する

この例では、ジオメトリを結合する方法を示します。 2 つのジオメトリを結合するには、CombinedGeometry オブジェクトを使用します。 結合する 2 つのジオメトリで Geometry1 プロパティと Geometry2 プロパティを設定し、GeometryCombineMode プロパティを設定します。このプロパティは、ジオメトリの結合方法を決定し、UnionIntersectExclude、または Xorに設定します。

2 つ以上のジオメトリから複合ジオメトリを作成するには、GeometryGroupを使用します。

次の例では、CombinedGeometryExcludeのジオメトリ結合モードで定義されています。 Geometry1Geometry2 はどちらも同じ半径の円として定義されますが、中心のオフセットは 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>

除外結合モードの 除外組み合わせモードの結果
結合したジオメトリの除外

次のマークアップでは、CombinedGeometryIntersectの結合モードで定義されています。 Geometry1Geometry2 はどちらも同じ半径の円として定義されますが、中心のオフセットは 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>

交差結合モードの 交差組み合わせモードの結果
結合したジオメトリの交差

次のマークアップでは、CombinedGeometryUnionの結合モードで定義されています。 Geometry1Geometry2 はどちらも同じ半径の円として定義されますが、中心のオフセットは 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>

Union 結合モードの結果
結合したジオメトリの和集合

次のマークアップでは、CombinedGeometryXorの結合モードで定義されています。 Geometry1Geometry2 はどちらも同じ半径の円として定義されますが、中心のオフセットは 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>

Xor 結合モードの結果 の結果
結合したジオメトリの Xor