Практическое руководство. Создание объединенных геометрических объектов
В этом примере показано, как для объединения геометрических объектов. Чтобы объединить два геометрических объекта, используйте 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 объединенных геометрических объектов
В следующей разметке 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>
Объединение объединенных геометрических объектов
В следующей разметке 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 объединенных геометрических объектов