Show / Hide Table of Contents

Практическое руководство. Создание объединенных геометрических объектов

В этом примере показано, как для объединения геометрических объектов. Чтобы объединить два геометрических объекта, используйте CombinedGeometry объекта. Задать его Geometry1 и Geometry2 свойства два геометрических объекта для объединения и установить GeometryCombineMode свойство, которое определяет, каким образом геометрические объекты будут объединяться, чтобы Union, Intersect, Exclude, или Xor.

Чтобы создать составной геометрический объект из двух или более геометрических объектов, используйте 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>

Исключить результаты объединенного режима
Исключить объединенных геометрических объектов

В следующей разметке 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>

Intersect результаты объединенного режима
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>

Результаты объединения в режиме 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>

Результаты объединения в режиме Xor
Xor объединенных геометрических объектов

Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX