次の方法で共有


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

更新 : 2007 年 11 月

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

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

使用例

次の例では、CombinedGeometry は Exclude のジオメトリ結合モードで定義されています。Geometry1 および Geometry2 は同じ半径の円として定義されていますが、中心は 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>

Combined Geometry Exclude
除外組み合わせモードの結果

次のマークアップでは、CombinedGeometry は Intersect の結合モードで定義されています。Geometry1 および Geometry2 は同じ半径の円として定義されていますが、中心は 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>

Combined Geometry Intersect
交差組み合わせモードの結果

次のマークアップでは、CombinedGeometry は Union の結合モードで定義されています。Geometry1 および Geometry2 は同じ半径の円として定義されていますが、中心は 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>

Combined Geometry Union
結合組み合わせモードの結果

次のマークアップでは、CombinedGeometry は Xor の結合モードで定義されています。Geometry1 および Geometry2 は同じ半径の円として定義されていますが、中心は 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>

Combined Geometry Xor
Xor 組み合わせモードの結果