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