EllipseGeometry Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет геометрию круга или многоточия.
public ref class EllipseGeometry sealed : System::Windows::Media::Geometry
public sealed class EllipseGeometry : System.Windows.Media.Geometry
type EllipseGeometry = class
inherit Geometry
Public NotInheritable Class EllipseGeometry
Inherits Geometry
- Наследование
Примеры
В следующем примере для определения содержимого объекта GeometryDrawingиспользуется два EllipseGeometry объекта. В примере получается следующий вывод.
Два объекта EllipseGeometry
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace SDKSample
{
public class GeometryDrawingExample : Page
{
public GeometryDrawingExample()
{
//
// Create the Geometry to draw.
//
GeometryGroup ellipses = new GeometryGroup();
ellipses.Children.Add(
new EllipseGeometry(new Point(50,50), 45, 20)
);
ellipses.Children.Add(
new EllipseGeometry(new Point(50, 50), 20, 45)
);
//
// Create a GeometryDrawing.
//
GeometryDrawing aGeometryDrawing = new GeometryDrawing();
aGeometryDrawing.Geometry = ellipses;
// Paint the drawing with a gradient.
aGeometryDrawing.Brush =
new LinearGradientBrush(
Colors.Blue,
Color.FromRgb(204,204,255),
new Point(0,0),
new Point(1,1));
// Outline the drawing with a solid color.
aGeometryDrawing.Pen = new Pen(Brushes.Black, 10);
//
// Use a DrawingImage and an Image control
// to display the drawing.
//
DrawingImage geometryImage = new DrawingImage(aGeometryDrawing);
// Freeze the DrawingImage for performance benefits.
geometryImage.Freeze();
Image anImage = new Image();
anImage.Source = geometryImage;
anImage.Stretch = Stretch.None;
anImage.HorizontalAlignment = HorizontalAlignment.Left;
//
// Place the image inside a border and
// add it to the page.
//
Border exampleBorder = new Border();
exampleBorder.Child = anImage;
exampleBorder.BorderBrush = Brushes.Gray;
exampleBorder.BorderThickness = new Thickness(1);
exampleBorder.HorizontalAlignment = HorizontalAlignment.Left;
exampleBorder.VerticalAlignment = VerticalAlignment.Top;
exampleBorder.Margin = new Thickness(10);
this.Margin = new Thickness(20);
this.Background = Brushes.White;
this.Content = exampleBorder;
}
}
}
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:PresentationOptions="http://schemas.microsoft.com/winfx/2006/xaml/presentation/options"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="PresentationOptions"
Margin="20" Background="White">
<Border BorderBrush="Gray" BorderThickness="1"
HorizontalAlignment="Left" VerticalAlignment="Top"
Margin="10">
<Image Stretch="None" HorizontalAlignment="Left">
<Image.Source>
<DrawingImage PresentationOptions:Freeze="True">
<DrawingImage.Drawing>
<GeometryDrawing>
<GeometryDrawing.Geometry>
<!-- Create a composite shape. -->
<GeometryGroup>
<EllipseGeometry Center="50,50" RadiusX="45" RadiusY="20" />
<EllipseGeometry Center="50,50" RadiusX="20" RadiusY="45" />
</GeometryGroup>
</GeometryDrawing.Geometry>
<GeometryDrawing.Brush>
<!-- Paint the drawing with a gradient. -->
<LinearGradientBrush>
<GradientStop Offset="0.0" Color="Blue" />
<GradientStop Offset="1.0" Color="#CCCCFF" />
</LinearGradientBrush>
</GeometryDrawing.Brush>
<GeometryDrawing.Pen>
<!-- Outline the drawing with a solid color. -->
<Pen Thickness="10" Brush="Black" />
</GeometryDrawing.Pen>
</GeometryDrawing>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
</Border>
</Page>
Комментарии
EllipseGeometry Используйте класс с элементом Path или GeometryDrawing элементом для рисования многоточия или с Clip свойством a UIElement для определения эллиптической области клипа. Класс EllipseGeometry также имеет много других применений. Дополнительные сведения см. в разделе "Общие сведения о EllipseGeometryгеометрии".
ЭллипсеГеметрия по сравнению с Эллипсом
Класс Ellipse имеет и FillStrokeдругие свойства отрисовки, которые EllipseGeometry не хватает. Класс Ellipse является и FrameworkElement поэтому участвует в системе макета; его можно использовать в качестве содержимого любого элемента, поддерживающего UIElement дочерние элементы.
С EllipseGeometry другой стороны, класс просто определяет геометрию многоточия и не может отрисовки. Из-за простоты он имеет более широкий спектр использования.
Бесплатные функции
Это EllipseGeometry тип Freezable объекта, поэтому его можно заморозить для повышения производительности. Дополнительные сведения о функциях, таких как замораживание и клонирование, см. в Freezableразделе "Обзор бесплатных объектов".
Конструкторы
| Имя | Описание |
|---|---|
| EllipseGeometry() |
Инициализирует новый экземпляр класса EllipseGeometry. |
| EllipseGeometry(Point, Double, Double, Transform) |
Инициализирует новый экземпляр EllipseGeometry класса с указанным положением, размером и преобразованием. |
| EllipseGeometry(Point, Double, Double) |
Инициализирует новый экземпляр класса в виде многоточия EllipseGeometry , имеющего указанное центральное расположение, радиус x и радиус y. |
| EllipseGeometry(Rect) |
Инициализирует новый экземпляр EllipseGeometry класса с горизонтальным диаметром, равным ширине передаваемого Rect, вертикальному диаметру, равному длине переданной Rectточки, а также центральной точке, равной центру переданного Rect. |
Поля
| Имя | Описание |
|---|---|
| CenterProperty |
Определяет Center свойство зависимостей. |
| RadiusXProperty |
Определяет RadiusX свойство зависимостей. |
| RadiusYProperty |
Определяет RadiusY свойство зависимостей. |
Свойства
| Имя | Описание |
|---|---|
| Bounds |
Rect Возвращает объект, представляющий ограничивающий прямоугольник этого EllipseGeometryобъекта. Этот метод не учитывает дополнительную область, потенциально добавленную штрихом. |
| CanFreeze |
Возвращает значение, указывающее, можно ли изменить объект. (Унаследовано от Freezable) |
| Center |
Возвращает или задает центральную точку EllipseGeometryобъекта. |
| DependencyObjectType |
Возвращает объект DependencyObjectType , который упаковывает тип СРЕДЫ CLR этого экземпляра. (Унаследовано от DependencyObject) |
| Dispatcher |
Dispatcher Возвращает это DispatcherObject значение, с которым связано. (Унаследовано от DispatcherObject) |
| HasAnimatedProperties |
Возвращает значение, указывающее, связан ли один или несколько AnimationClock объектов с любым из свойств зависимостей этого объекта. (Унаследовано от Animatable) |
| IsFrozen |
Возвращает значение, указывающее, является ли объект изменяемым в настоящее время. (Унаследовано от Freezable) |
| IsSealed |
Возвращает значение, указывающее, запечатан ли этот экземпляр (только для чтения). (Унаследовано от DependencyObject) |
| RadiusX |
Возвращает или задает значение x-radius объекта EllipseGeometry. |
| RadiusY |
Возвращает или задает значение радиуса EllipseGeometryy объекта. |
| Transform |
Возвращает или задает объект, примененный Transform к объекту Geometry. (Унаследовано от Geometry) |
Методы
| Имя | Описание |
|---|---|
| ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Применяется к указанному объекту AnimationClockDependencyProperty. Если свойство уже анимировано, используется указанный HandoffBehavior параметр. (Унаследовано от Animatable) |
| ApplyAnimationClock(DependencyProperty, AnimationClock) |
Применяется к указанному объекту AnimationClockDependencyProperty. Если свойство уже анимировано, SnapshotAndReplace используется поведение передачи. (Унаследовано от Animatable) |
| BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) |
Применяет анимацию к указанному DependencyProperty. Анимация запускается при отрисовки следующего кадра. Если указанное свойство уже анимировано, используется указанный HandoffBehavior параметр. (Унаследовано от Animatable) |
| BeginAnimation(DependencyProperty, AnimationTimeline) |
Применяет анимацию к указанному DependencyProperty. Анимация запускается при отрисовки следующего кадра. Если указанное свойство уже анимировано, SnapshotAndReplace используется поведение передачи. (Унаследовано от Animatable) |
| CheckAccess() |
Определяет, имеет ли вызывающий поток доступ к этому DispatcherObject. (Унаследовано от DispatcherObject) |
| ClearValue(DependencyProperty) |
Очищает локальное значение свойства. Свойство для очистки указывается идентификатором DependencyProperty . (Унаследовано от DependencyObject) |
| ClearValue(DependencyPropertyKey) |
Очищает локальное значение свойства только для чтения. Свойство, которое необходимо очистить, задается параметром DependencyPropertyKey. (Унаследовано от DependencyObject) |
| Clone() |
Создает модификаторный клон этого EllipseGeometryобъекта, делая глубокие копии значений этого объекта. При копировании свойств зависимостей этот метод копирует ссылки на ресурсы и привязки данных (но они больше не могут разрешаться), но не анимации или их текущие значения. |
| CloneCore(Freezable) |
Делает экземпляр клоном (глубокой копией) указанных Freezable значений свойств с использованием базовых (не анимированных) значений свойств. (Унаследовано от Freezable) |
| CloneCurrentValue() |
Создает модификаторный клон этого объекта, делая глубокие копии текущих значений этого EllipseGeometry объекта. Ссылки на ресурсы, привязки данных и анимации не копируются, но их текущие значения. |
| CloneCurrentValueCore(Freezable) |
Делает экземпляр модификируемым клоном (глубокой копией) указанного Freezable с использованием текущих значений свойств. (Унаследовано от Freezable) |
| CoerceValue(DependencyProperty) |
Принуждает значение указанного свойства зависимостей. Это достигается путем вызова любой CoerceValueCallback функции, указанной в метаданных свойств для свойства зависимостей, так как он существует при вызове DependencyObject. (Унаследовано от DependencyObject) |
| CreateInstance() |
Инициализирует новый экземпляр класса Freezable. (Унаследовано от Freezable) |
| CreateInstanceCore() |
При реализации в производном классе создает новый экземпляр производного Freezable класса. (Унаследовано от Freezable) |
| Equals(Object) |
Определяет, эквивалентен ли предоставленный DependencyObject объект текущему DependencyObject. (Унаследовано от DependencyObject) |
| FillContains(Geometry, Double, ToleranceType) |
Указывает, содержит ли текущая геометрия указанную Geometry, учитывая указанное поле ошибки. (Унаследовано от Geometry) |
| FillContains(Geometry) |
Указывает, полностью ли текущая геометрия содержит указанный Geometryобъект. (Унаследовано от Geometry) |
| FillContains(Point, Double, ToleranceType) |
Указывает, содержит ли геометрия указанную Point, учитывая указанное поле ошибки. (Унаследовано от Geometry) |
| FillContains(Point) |
Указывает, содержит ли геометрия указанный Pointобъект. (Унаследовано от Geometry) |
| FillContainsWithDetail(Geometry, Double, ToleranceType) |
Возвращает значение, описывающее пересечение текущей геометрии и указанной геометрии, учитывая указанное поле ошибки. (Унаследовано от Geometry) |
| FillContainsWithDetail(Geometry) |
Возвращает значение, описывающее пересечение текущей геометрии и указанной геометрии. (Унаследовано от Geometry) |
| Freeze() |
Делает текущий объект неизменяемым и задает для свойства значение IsFrozen |
| FreezeCore(Boolean) |
Делает этот Animatable объект неизменяемым или определяет, может ли он быть изменен. (Унаследовано от Animatable) |
| GetAnimationBaseValue(DependencyProperty) |
Возвращает неанимированное значение указанного DependencyProperty. (Унаследовано от Animatable) |
| GetArea() |
Возвращает область заполненной Geometry области объекта. (Унаследовано от Geometry) |
| GetArea(Double, ToleranceType) |
Возвращает область этого EllipseGeometryобъекта. |
| GetAsFrozen() |
Создает замороженную копию базовых Freezable(не анимированных) значений свойств. Так как копия заморожена, все замороженные вложенные объекты копируются по ссылке. (Унаследовано от Freezable) |
| GetAsFrozenCore(Freezable) |
Делает экземпляр замороженным клоном указанных Freezable значений свойств (не анимированных). (Унаследовано от Freezable) |
| GetCurrentValueAsFrozen() |
Создает замороженную копию с использованием текущих значений Freezable свойств. Так как копия заморожена, все замороженные вложенные объекты копируются по ссылке. (Унаследовано от Freezable) |
| GetCurrentValueAsFrozenCore(Freezable) |
Делает текущий экземпляр замороженным клоном указанного Freezable. Если объект имеет анимированные свойства зависимостей, их текущие анимированные значения копируются. (Унаследовано от Freezable) |
| GetFlattenedPathGeometry() |
PathGeometry Получает многоугольниковое приближение Geometry объекта. (Унаследовано от Geometry) |
| GetFlattenedPathGeometry(Double, ToleranceType) |
Получает значение PathGeometryв пределах указанной допустимости, то есть многоугольниковое Geometry приближение объекта. (Унаследовано от Geometry) |
| GetHashCode() |
Получает хэш-код для этого DependencyObject. (Унаследовано от DependencyObject) |
| GetLocalValueEnumerator() |
Создает специализированный перечислитель для определения того, какие свойства зависимостей имеют локальные значения для этого DependencyObject. (Унаследовано от DependencyObject) |
| GetOutlinedPathGeometry() |
PathGeometry Возвращает упрощенную структуру заполненной Geometryобласти объекта. (Унаследовано от Geometry) |
| GetOutlinedPathGeometry(Double, ToleranceType) |
PathGeometryВозвращает значение в пределах указанной допустимости, которое является упрощенной структурой заполненной Geometryобласти. (Унаследовано от Geometry) |
| GetRenderBounds(Pen, Double, ToleranceType) |
Возвращает прямоугольник, выровненный по оси, который достаточно велик, чтобы содержать геометрию после того, как она была описана с указанным Penкоэффициентом допуска. (Унаследовано от Geometry) |
| GetRenderBounds(Pen) |
Возвращает прямоугольник, выровненный по оси, который достаточно велик, чтобы содержать геометрию после того, как она была описана с указанным Pen. (Унаследовано от Geometry) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| GetValue(DependencyProperty) |
Возвращает текущее эффективное значение свойства зависимостей для этого экземпляра DependencyObject. (Унаследовано от DependencyObject) |
| GetWidenedPathGeometry(Pen, Double, ToleranceType) |
PathGeometry Получает фигуру, определяемую росчерком по Geometry заданному Penобъекту, с учетом указанного коэффициента допуска. (Унаследовано от Geometry) |
| GetWidenedPathGeometry(Pen) |
PathGeometry Возвращает фигуру, определяемую росчерком, Geometry созданным указаннымPen. (Унаследовано от Geometry) |
| InvalidateProperty(DependencyProperty) |
Повторно вычисляет эффективное значение для указанного свойства зависимостей. (Унаследовано от DependencyObject) |
| IsEmpty() |
Определяет, является ли этот EllipseGeometry объект пустым. |
| MayHaveCurves() |
Определяет, может ли этот EllipseGeometry объект иметь изогнутые сегменты. |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| OnChanged() |
Вызывается при изменении текущего Freezable объекта. (Унаследовано от Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
Этот член поддерживает инфраструктуру Windows Presentation Foundation (WPF) и не предназначен для использования непосредственно из кода. (Унаследовано от Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
Убедитесь, что для элемента данных, который только что был установлен, установлены DependencyObjectType соответствующие указатели контекста. (Унаследовано от Freezable) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Переопределяет DependencyObject реализацию OnPropertyChanged(DependencyPropertyChangedEventArgs) для вызова всех Changed обработчиков в ответ на изменение свойства зависимостей типа Freezable. (Унаследовано от Freezable) |
| ReadLocalValue(DependencyProperty) |
Возвращает локальное значение свойства зависимостей, если оно существует. (Унаследовано от DependencyObject) |
| ReadPreamble() |
Гарантирует, что Freezable доступ к ней осуществляется из допустимого потока. Наследующие метод Freezable должны вызывать этот метод в начале любого API, который считывает элементы данных, которые не являются свойствами зависимостей. (Унаследовано от Freezable) |
| SetCurrentValue(DependencyProperty, Object) |
Задает значение свойства зависимостей, не изменяя его источник значений. (Унаследовано от DependencyObject) |
| SetValue(DependencyProperty, Object) |
Задает локальное значение свойства зависимостей, указанное его идентификатором свойства зависимостей. (Унаследовано от DependencyObject) |
| SetValue(DependencyPropertyKey, Object) |
Задает локальное значение свойства зависимостей только для чтения, указанное DependencyPropertyKey идентификатором свойства зависимости. (Унаследовано от DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
Возвращает значение, указывающее, должны ли процессы сериализации сериализовать значение для указанного свойства зависимостей. (Унаследовано от DependencyObject) |
| ShouldSerializeTransform() |
Возвращает значение, указывающее, следует ли сериализовать значение Transform свойства. (Унаследовано от Geometry) |
| StrokeContains(Pen, Point, Double, ToleranceType) |
Определяет, содержится ли указанный Point в штрихе, созданном путем применения указанного Pen к геометрии, учитывая указанное поле ошибки. (Унаследовано от Geometry) |
| StrokeContains(Pen, Point) |
Определяет, содержится ли указанный Point в штрихе, созданном путем применения указанного Pen к геометрии. (Унаследовано от Geometry) |
| StrokeContainsWithDetail(Pen, Geometry, Double, ToleranceType) |
Возвращает значение, описывающее пересечение указанного Geometry и росчерка, созданного путем применения Pen указанного к текущей геометрии, учитывая указанное поле ошибки. (Унаследовано от Geometry) |
| StrokeContainsWithDetail(Pen, Geometry) |
Возвращает значение, описывающее пересечение между указанным Geometry и штрихом, созданным путем применения указанного Pen к текущей геометрии. (Унаследовано от Geometry) |
| ToString() |
Создает строковое представление объекта на основе текущего языка и региональных параметров. (Унаследовано от Geometry) |
| ToString(IFormatProvider) |
Создает строковое представление объекта с помощью указанных сведений о форматировании, зависящих от языка и региональных параметров. (Унаследовано от Geometry) |
| VerifyAccess() |
Принудительно применяет, что вызывающий поток имеет доступ к этому DispatcherObject. (Унаследовано от DispatcherObject) |
| WritePostscript() |
Changed Вызывает событие для Freezable метода и вызывает его OnChanged() метод. Классы, производные от Freezable этого метода, должны вызываться в конце любого API, который изменяет элементы класса, которые не хранятся в качестве свойств зависимостей. (Унаследовано от Freezable) |
| WritePreamble() |
Проверяет, что Freezable он не заморожен и к нему осуществляется доступ из допустимого контекста потоков. Freezable наследующие метод должны вызывать этот метод в начале любого API, записывающего элементы данных, которые не являются свойствами зависимостей. (Унаследовано от Freezable) |
События
| Имя | Описание |
|---|---|
| Changed |
Происходит при Freezable изменении объекта или объекта, содержащего его. (Унаследовано от Freezable) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IFormattable.ToString(String, IFormatProvider) |
Форматирует значение текущего экземпляра с помощью указанного формата. (Унаследовано от Geometry) |