EllipseGeometry Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt die Geometrie eines Kreises oder einer Ellipse dar.
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
- Vererbung
Beispiele
Im folgenden Beispiel werden zwei EllipseGeometry -Objekte verwendet, um den Inhalt eines GeometryDrawingzu definieren. Dieses Beispiel erzeugt die folgende Ausgabe:
Zwei EllipseGeometry-Objekte
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>
Hinweise
Verwenden Sie die EllipseGeometry -Klasse mit einem Path Element oder einer GeometryDrawing , um eine Ellipse zu zeichnen, oder mit der Clip -Eigenschaft eines UIElement , um einen elliptischen Clipbereich zu definieren. Die EllipseGeometry -Klasse hat auch viele andere Verwendungsmöglichkeiten. Weitere Informationen zu EllipseGeometryfinden Sie unter Übersicht über Geometrie.
EllipseGeometrie im Vergleich zu Ellipse
Die Ellipse -Klasse verfügt über eine Fill, Strokeund andere Renderingeigenschaften, die EllipseGeometry fehlen. Die Ellipse -Klasse ist ein FrameworkElement und nimmt daher am Layoutsystem teil. Sie kann als Inhalt eines beliebigen Elements verwendet werden, das untergeordnete Elemente unterstützt UIElement .
Die EllipseGeometry -Klasse hingegen definiert einfach die Geometrie einer Ellipse und kann sich nicht selbst rendern. Aufgrund seiner Einfachheit hat es eine größere Palette von Verwendungsmöglichkeiten.
Features von Freezable
Ein EllipseGeometry ist ein Objekttyp Freezable und kann daher eingefroren werden, um die Leistung zu verbessern. Informationen zu Freezable Features wie Einfrieren und Klonen finden Sie unter Übersicht über Freezable-Objekte.
Konstruktoren
EllipseGeometry() |
Initialisiert eine neue Instanz der EllipseGeometry-Klasse. |
EllipseGeometry(Point, Double, Double) |
Initialisiert eine neue Instanz der EllipseGeometry-Klasse als Ellipse mit einer angegebenen Mittelpunktposition, einem angegebenen x-Radius und einem angegebenen y-Radius. |
EllipseGeometry(Point, Double, Double, Transform) |
Initialisiert eine neue Instanz der EllipseGeometry-Klasse, die über die angegebene Position, Größe und Transformation verfügt. |
EllipseGeometry(Rect) |
Initialisiert eine neue Instanz der EllipseGeometry-Klasse, deren horizontaler Durchmesser gleich der Breite des übergebenen Rect, deren vertikaler Durchmesser gleich der Länge des übergebenen Rect und deren Mittelpunkt gleich dem Mittelpunkt des übergebenen Rect ist. |
Felder
CenterProperty |
Bezeichnet die Center-Abhängigkeitseigenschaft. |
RadiusXProperty |
Bezeichnet die RadiusX-Abhängigkeitseigenschaft. |
RadiusYProperty |
Bezeichnet die RadiusY-Abhängigkeitseigenschaft. |
Eigenschaften
Bounds |
Ruft ein Rect ab, das das umgebende Rechteck dieser EllipseGeometry darstellt. In dieser Methode wird der zusätzliche Bereich, der möglicherweise durch die Strichbreite hinzugefügt wird, nicht berücksichtigt. |
CanFreeze |
Ruft einen Wert ab, der anzeigt, ob das Objekt als nicht änderbar festgelegt werden kann. (Geerbt von Freezable) |
Center |
Ruft den Mittelpunkt der EllipseGeometry ab oder legt ihn fest. |
DependencyObjectType |
Ruft den ab, der DependencyObjectType den CLR-Typ dieses instance umschließt. (Geerbt von DependencyObject) |
Dispatcher |
Ruft den Dispatcher ab, der diesem DispatcherObject zugeordnet ist. (Geerbt von DispatcherObject) |
HasAnimatedProperties |
Ruft einen Wert ab, der angibt, ob einer der Abhängigkeitseigenschaften dieses Objekts ein oder mehrere AnimationClock-Objekte zugeordnet sind. (Geerbt von Animatable) |
IsFrozen |
Ruft einen Wert ab, der angibt, ob das Objekt derzeit geändert werden kann. (Geerbt von Freezable) |
IsSealed |
Ruft einen Wert ab, der angibt, ob diese Instanz derzeit versiegelt (schreibgeschützt) ist. (Geerbt von DependencyObject) |
RadiusX |
Ruft den X-Radiuswert der EllipseGeometry ab oder legt diesen fest. |
RadiusY |
Ruft den Y-Radiuswert der EllipseGeometry ab oder legt diesen fest. |
Transform |
Ruft das auf eine Transform angewendete Geometry-Objekt ab oder legt dieses fest. (Geerbt von Geometry) |
Methoden
ApplyAnimationClock(DependencyProperty, AnimationClock) |
Wendet einen AnimationClock auf die angegebene DependencyProperty an. Wenn die Eigenschaft bereits animiert wird, wird das SnapshotAndReplace-Übergabeverhalten verwendet. (Geerbt von Animatable) |
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Wendet einen AnimationClock auf die angegebene DependencyProperty an. Wenn die Eigenschaft bereits animiert wird, wird das angegebene HandoffBehavior verwendet. (Geerbt von Animatable) |
BeginAnimation(DependencyProperty, AnimationTimeline) |
Wendet eine Animation auf die angegebene DependencyProperty an. Die Animation wird gestartet, wenn der nächste Frame gerendert wird. Wenn die angegebene Eigenschaft bereits animiert wird, wird das SnapshotAndReplace-Übergabeverhalten verwendet. (Geerbt von Animatable) |
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) |
Wendet eine Animation auf die angegebene DependencyProperty an. Die Animation wird gestartet, wenn der nächste Frame gerendert wird. Wenn die angegebene Eigenschaft bereits animiert wird, wird das angegebene HandoffBehavior verwendet. (Geerbt von Animatable) |
CheckAccess() |
Bestimmt, ob der aufrufende Thread auf dieses DispatcherObject zugreifen kann. (Geerbt von DispatcherObject) |
ClearValue(DependencyProperty) |
Löscht den lokalen Wert einer Eigenschaft. Die Eigenschaft, deren Wert gelöscht werden soll, wird durch einen DependencyProperty-Bezeichner angegeben. (Geerbt von DependencyObject) |
ClearValue(DependencyPropertyKey) |
Löscht den lokalen Wert einer schreibgeschützten Eigenschaft. Die Eigenschaft, deren Wert gelöscht werden soll, wird durch einen DependencyPropertyKey angegeben. (Geerbt von DependencyObject) |
Clone() |
Erstellt einen änderbaren Klon dieser EllipseGeometry, indem tiefe Kopien der Werte dieses Objekts erzeugt werden. Beim Kopieren von Abhängigkeitseigenschaften kopiert diese Methode Ressourcenverweise und Datenbindungen (die aber möglicherweise nicht mehr aufgelöst werden können), jedoch keine Animationen oder ihre aktuellen Werte. |
CloneCore(Freezable) |
Definiert die Instanz als Klon (tiefe Kopie) des angegebenen Freezable-Elements, indem Basiseigenschaftenwerte (nicht animiert) verwendet werden. (Geerbt von Freezable) |
CloneCurrentValue() |
Erstellt einen änderbaren Klon des EllipseGeometry-Objekts, indem tiefe Kopien der aktuellen Werte dieses Objekts erzeugt werden. Ressourcenverweise, Datenbindungen und Animationen werden nicht kopiert, ihre aktuellen Werte werden jedoch kopiert. |
CloneCurrentValueCore(Freezable) |
Macht die Instanz mithilfe aktueller Eigenschaftswerte zu einem Klon (tiefe Kopie) des angegebenen Freezable-Elements, der geändert werden kann. (Geerbt von Freezable) |
CoerceValue(DependencyProperty) |
Erzwingt den Wert der angegebenen Abhängigkeitseigenschaft. Dies erfolgt durch den Aufruf einer beliebigen CoerceValueCallback-Funktion, die in den Metadaten für die Abhängigkeitseigenschaft angegeben ist, während sie beim aufrufenden DependencyObject beendet wird. (Geerbt von DependencyObject) |
CreateInstance() |
Initialisiert eine neue Instanz der Freezable-Klasse. (Geerbt von Freezable) |
CreateInstanceCore() |
Erstellt beim Implementieren in einer abgeleiteten Klasse eine neue Instanz der abgeleiteten Freezable-Klasse. (Geerbt von Freezable) |
Equals(Object) |
Bestimmt, ob ein angegebenes DependencyObject dem aktuellen DependencyObject entspricht. (Geerbt von DependencyObject) |
FillContains(Geometry) |
Gibt an, ob die aktuelle Geometrie die angegebene Geometry vollständig enthält. (Geerbt von Geometry) |
FillContains(Geometry, Double, ToleranceType) |
Gibt unter Verwendung der festgelegten Fehlergrenze an, ob die aktuelle Geometrie die angegebene Geometry enthält. (Geerbt von Geometry) |
FillContains(Point) |
Gibt an, ob die Geometrie den angegebenen Point vollständig enthält. (Geerbt von Geometry) |
FillContains(Point, Double, ToleranceType) |
Gibt unter Verwendung der festgelegten Fehlergrenze an, ob die Geometrie den angegebenen Point enthält. (Geerbt von Geometry) |
FillContainsWithDetail(Geometry) |
Gibt einen Wert zurück, der die Schnittmenge der aktuellen Geometrie und der angegebenen Geometrie beschreibt. (Geerbt von Geometry) |
FillContainsWithDetail(Geometry, Double, ToleranceType) |
Gibt unter Verwendung der angegebenen Fehlergrenze einen Wert zurück, der die Schnittmenge der aktuellen Geometrie und der angegebenen Geometrie beschreibt. (Geerbt von Geometry) |
Freeze() |
Definiert das aktuelle Objekt als nicht änderbar und legt seine IsFrozen-Eigenschaft auf |
FreezeCore(Boolean) |
Legt dieses Animatable-Objekt als nicht änderbar fest oder bestimmt, ob es als nicht änderbar festgelegt werden kann. (Geerbt von Animatable) |
GetAnimationBaseValue(DependencyProperty) |
Gibt den nicht animierten Wert der angegebenen DependencyProperty zurück. (Geerbt von Animatable) |
GetArea() |
Ruft den ausgefüllten Bereich des Geometry-Objekts ab. (Geerbt von Geometry) |
GetArea(Double, ToleranceType) |
Ruft den Bereich der EllipseGeometry ab. |
GetAsFrozen() |
Erstellt eine fixierte Kopie von Freezable mit Basiseigenschaftswerten (nicht animiert). Da die Kopie fixiert ist, werden alle fixierten Unterobjekte als Verweis kopiert. (Geerbt von Freezable) |
GetAsFrozenCore(Freezable) |
Definiert die Instanz als fixierten Klon des angegebenen Freezable-Elements, indem Basiseigenschaftenwerte (nicht animiert) verwendet werden. (Geerbt von Freezable) |
GetCurrentValueAsFrozen() |
Erstellt eine fixierte Kopie von Freezable mit aktuellen Eigenschaftswerten. Da die Kopie fixiert ist, werden alle fixierten Unterobjekte als Verweis kopiert. (Geerbt von Freezable) |
GetCurrentValueAsFrozenCore(Freezable) |
Macht diese aktuelle Instanz zu einem fixierten Klon des angegebenen Freezable-Objekts. Wenn das Objekt über animierte Abhängigkeitseigenschaften verfügt, werden die aktuellen animierten Werte kopiert. (Geerbt von Freezable) |
GetFlattenedPathGeometry() |
Ruft eine PathGeometry ab, die eine polygonale Approximation des Geometry-Objekts ist. (Geerbt von Geometry) |
GetFlattenedPathGeometry(Double, ToleranceType) |
Ruft eine PathGeometry innerhalb der angegebenen Toleranz ab, die eine polygonale Approximation des Geometry-Objekts ist. (Geerbt von Geometry) |
GetHashCode() |
Ruft einen Hashcode für diese DependencyObject ab. (Geerbt von DependencyObject) |
GetLocalValueEnumerator() |
Erstellt einen spezialisierten Enumerator, mit dem bestimmt wird, welche Abhängigkeitseigenschaften dieses DependencyObject über lokal festgelegte Werte verfügen. (Geerbt von DependencyObject) |
GetOutlinedPathGeometry() |
Ruft eine PathGeometry ab, bei der es sich um eine vereinfachte Kontur des ausgefüllten Bereichs der Geometry handelt. (Geerbt von Geometry) |
GetOutlinedPathGeometry(Double, ToleranceType) |
Ruft eine PathGeometry innerhalb der angegebenen Toleranz ab, bei der es sich um eine vereinfachte Kontur des ausgefüllten Bereichs der Geometry handelt. (Geerbt von Geometry) |
GetRenderBounds(Pen) |
Ruft ein an einer Achse ausgerichtetes Rechteck ab, in das die Geometrie genau eingefügt werden kann, nachdem ihre Kontur mit dem angegebenen Pen gezeichnet wurde. (Geerbt von Geometry) |
GetRenderBounds(Pen, Double, ToleranceType) |
Ruft ein mit dem festgelegten Toleranzfaktor an einer Achse ausgerichtetes Rechteck ab, in das die Geometrie genau eingefügt werden kann, nachdem ihre Kontur mit dem angegebenen Pen gezeichnet wurde. (Geerbt von Geometry) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
GetValue(DependencyProperty) |
Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft für diese Instanz eines DependencyObject zurück. (Geerbt von DependencyObject) |
GetWidenedPathGeometry(Pen) |
Ruft eine PathGeometry ab, bei der es sich um die Form handelt, die von dem mit dem angegebenen Geometry erzeugten Strich in der Pen definiert wird. (Geerbt von Geometry) |
GetWidenedPathGeometry(Pen, Double, ToleranceType) |
Ruft eine PathGeometry ab, bei der es sich um die Form handelt, die unter Verwendung des festgelegten Toleranzfaktors von dem mit dem angegebenen Geometry erzeugten Strich in der Pen definiert wird. (Geerbt von Geometry) |
InvalidateProperty(DependencyProperty) |
Wertet den effektiven Wert für die angegebene Abhängigkeitseigenschaft erneut aus. (Geerbt von DependencyObject) |
IsEmpty() |
Bestimmt, ob dieses EllipseGeometry-Objekt leer ist. |
MayHaveCurves() |
Bestimmt, ob dieses EllipseGeometry-Objekt über Kurvensegmente verfügen kann. |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
OnChanged() |
Wird aufgerufen, wenn das aktuelle Freezable-Objekt geändert wird. (Geerbt von Freezable) |
OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
Stellt sicher, dass entsprechende Kontextzeiger für einen gerade festgelegten DependencyObjectType-Datenmember eingerichtet werden. (Geerbt von Freezable) |
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
Dieses Member unterstützt die Windows Presentation Foundation -Infrastruktur (WPF) und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. (Geerbt von Freezable) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Überschreibt die DependencyObject-Implementierung von OnPropertyChanged(DependencyPropertyChangedEventArgs), damit in Reaktion auf eine geänderte Abhängigkeitseigenschaft des Typs Freezable auch Changed-Handler aufgerufen werden. (Geerbt von Freezable) |
ReadLocalValue(DependencyProperty) |
Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, wenn dieser vorhanden ist. (Geerbt von DependencyObject) |
ReadPreamble() |
Stellt sicher, dass über einen gültigen Thread auf Freezable zugegriffen wird. Vererber von Freezable müssen diese Methode am Anfang jeder API aufrufen, die Datenmember liest, bei denen es sich nicht um Abhängigkeitseigenschaften handelt. (Geerbt von Freezable) |
SetCurrentValue(DependencyProperty, Object) |
Legt den Wert einer Abhängigkeitseigenschaft fest, ohne deren Wertquelle zu ändern. (Geerbt von DependencyObject) |
SetValue(DependencyProperty, Object) |
Legt den lokalen Wert einer Abhängigkeitseigenschaft fest, die durch ihren Bezeichner angegeben ist. (Geerbt von DependencyObject) |
SetValue(DependencyPropertyKey, Object) |
Legt den lokalen Wert einer schreibgeschützten Abhängigkeitseigenschaft fest, die durch den DependencyPropertyKey-Bezeichner der Abhängigkeitseigenschaft angegeben ist. (Geerbt von DependencyObject) |
ShouldSerializeProperty(DependencyProperty) |
Gibt einen Wert zurück, der angibt, ob Serialisierungsprozesse den Wert der bereitgestellten Abhängigkeitseigenschaft serialisieren sollen. (Geerbt von DependencyObject) |
ShouldSerializeTransform() |
Ruft einen Wert ab, der angibt, ob der Wert der Transform-Eigenschaft serialisiert werden soll. (Geerbt von Geometry) |
StrokeContains(Pen, Point) |
Bestimmt, ob der angegebene Point in dem Strich enthalten ist, der durch Anwenden des angegebenen Pen auf die Geometrie erzeugt wird. (Geerbt von Geometry) |
StrokeContains(Pen, Point, Double, ToleranceType) |
Bestimmt unter Verwendung der festgelegten Fehlertoleranz, ob der angegebene Point in dem Strich enthalten ist, der durch Anwenden des angegebenen Pen auf die Geometrie erzeugt wird. (Geerbt von Geometry) |
StrokeContainsWithDetail(Pen, Geometry) |
Gibt einen Wert zurück, der die Schnittmenge der angegebenen Geometry und des durch Anwenden des angegebenen Pen auf die aktuelle Geometrie erstellten Strichs beschreibt. (Geerbt von Geometry) |
StrokeContainsWithDetail(Pen, Geometry, Double, ToleranceType) |
Ruft einen Wert ab, der unter Verwendung der festgelegten Fehlergrenze die Schnittmenge der angegebenen Geometry und des durch Anwenden des angegebenen Pen auf die aktuelle Geometrie erstellten Strichs beschreibt. (Geerbt von Geometry) |
ToString() |
Erstellt eine Zeichenfolgendarstellung des Objekts auf der Grundlage der aktuellen Kultur. (Geerbt von Geometry) |
ToString(IFormatProvider) |
Erstellt eine Zeichenfolgendarstellung des Objekts mithilfe der angegebenen kulturspezifischen Formatierungsinformationen. (Geerbt von Geometry) |
VerifyAccess() |
Erzwingt, dass der aufrufende Thread auf dieses DispatcherObject zugreifen kann. (Geerbt von DispatcherObject) |
WritePostscript() |
Löst das Changed-Ereignis für das Freezable-Objekt aus und ruft dessen OnChanged()-Methode auf. Klassen, die aus Freezable abgeleitet werden, sollten diese Methode am Ende jeder API aufrufen, die Klassenmember ändert, die nicht als Abhängigkeitseigenschaften gespeichert sind. (Geerbt von Freezable) |
WritePreamble() |
Stellt sicher, dass das Freezable nicht fixiert ist und dass über einen gültigen Threadkontext darauf zugegriffen wird. Vererber von Freezable sollten diese Methode am Anfang jeder API aufrufen, die Datenmember schreibt, bei denen es sich nicht um Abhängigkeitseigenschaften handelt. (Geerbt von Freezable) |
Ereignisse
Changed |
Tritt auf, wenn Freezable oder ein darin enthaltenes Objekt geändert wird. (Geerbt von Freezable) |
Explizite Schnittstellenimplementierungen
IFormattable.ToString(String, IFormatProvider) |
Formatiert den Wert der aktuellen Instanz mit dem angegebenen Format. (Geerbt von Geometry) |