다음을 통해 공유


방법: 결합된 기하 도형 만들기

업데이트: 2007년 11월

이 예제에서는 기하 도형을 결합하는 방법을 보여 줍니다. 두 기하 도형을 결합하려면 CombinedGeometry를 사용합니다. 결합할 두 기하 도형에 Geometry1Geometry2 속성을 설정하고 기하 도형의 결합 방법을 결정하는 GeometryCombineMode 속성을 Union, Intersect, Exclude 또는 Xor로 설정합니다.

둘 이상의 기하 도형으로 복합 기하 도형을 만들려면 GeometryGroup을 사용합니다.

예제

다음 예제에서는 CombinedGeometry가 Exclude라는 기하 도형 결합 모드로 정의됩니다. 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>

Exclude 모드로 결합된 기하 도형

Exclude 결합 모드의 결과

다음 태그에서는 CombinedGeometry가 Intersect라는 결합 모드로 정의됩니다. 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>

Intersect 모드로 결합된 기하 도형

Intersect 결합 모드의 결과

다음 태그에서는 CombinedGeometry가 Union이라는 결합 모드로 정의됩니다. 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 모드로 결합된 기하 도형

Union 결합 모드의 결과

다음 태그에서는 CombinedGeometry가 Xor이라는 결합 모드로 정의됩니다. 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 결합 모드의 결과