Udostępnij za pośrednictwem


EllipseGeometry Klasa

Definicja

Reprezentuje geometrię okręgu lub wielokropka.

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
Dziedziczenie

Przykłady

W poniższym przykładzie użyto dwóch EllipseGeometry obiektów do zdefiniowania zawartości obiektu GeometryDrawing. Ten przykład generuje następujące wyniki:

GeometryDrawing dwóch wielokropka
Dwa obiekty 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>

Uwagi

EllipseGeometry Użyj klasy z elementem Path lub elementem GeometryDrawing , aby narysować wielokropek lub z Clip właściwością elementu UIElement , aby zdefiniować wielokropek regionu klipu. Klasa EllipseGeometry ma również wiele innych zastosowań. Aby uzyskać więcej informacji na temat EllipseGeometryprogramu , zobacz Geometry Overview (Omówienie geometrii).

ElipseGeometry w porównaniu do elipsy

Klasa Ellipse ma Fillwłaściwości , Strokei inne właściwości renderowania, których EllipseGeometry brakuje. Klasa Ellipse jest elementem FrameworkElement i w związku z tym uczestniczy w systemie układu; może być używana jako zawartość dowolnego elementu, który obsługuje UIElement elementy podrzędne.

Z EllipseGeometry drugiej strony klasa po prostu definiuje geometrię wielokropka i nie może się renderować. Ze względu na prostotę ma szerszy zakres zastosowań.

Funkcje z możliwością zamrażania

Element EllipseGeometry jest typem Freezable obiektu i dlatego można go zablokować, aby zwiększyć wydajność. Aby uzyskać informacje o Freezable funkcjach, takich jak zamrażanie i klonowanie, zobacz Omówienie obiektów zamrażalnych.

Konstruktory

EllipseGeometry()

Inicjuje nowe wystąpienie klasy EllipseGeometry.

EllipseGeometry(Point, Double, Double)

Inicjuje nowe wystąpienie EllipseGeometry klasy jako wielokropek, który ma określoną lokalizację środkową, promień x i promień y.

EllipseGeometry(Point, Double, Double, Transform)

Inicjuje EllipseGeometry nowe wystąpienie klasy, która ma określoną pozycję, rozmiar i transformację.

EllipseGeometry(Rect)

Inicjuje nowe wystąpienie EllipseGeometry klasy o średnicy poziomej równej szerokości przekazanej Rect, średnicy pionowej równej długości przekazywanej Recti lokalizacji punktu środkowego równej środku przekazanego Rectobiektu .

Pola

CenterProperty

Identyfikuje Center właściwość zależności.

RadiusXProperty

Identyfikuje RadiusX właściwość zależności.

RadiusYProperty

Identyfikuje RadiusY właściwość zależności.

Właściwości

Bounds

Pobiera element Rect reprezentujący pole ograniczenia tego EllipseGeometryobiektu . Ta metoda nie uwzględnia dodatkowego obszaru potencjalnie dodanego przez pociągnięcie.

CanFreeze

Pobiera wartość wskazującą, czy obiekt może być niemodyfikowalny.

(Odziedziczone po Freezable)
Center

Pobiera lub ustawia punkt środkowy obiektu EllipseGeometry.

DependencyObjectType

DependencyObjectType Pobiera opakowujący typ clR tego wystąpienia.

(Odziedziczone po DependencyObject)
Dispatcher

Pobiera element, z Dispatcher który DispatcherObject jest skojarzony.

(Odziedziczone po DispatcherObject)
HasAnimatedProperties

Pobiera wartość wskazującą, czy co najmniej jeden AnimationClock obiekt jest skojarzony z dowolnymi właściwościami zależności tego obiektu.

(Odziedziczone po Animatable)
IsFrozen

Pobiera wartość wskazującą, czy obiekt jest obecnie modyfikowalny.

(Odziedziczone po Freezable)
IsSealed

Pobiera wartość wskazującą, czy to wystąpienie jest obecnie zapieczętowane (tylko do odczytu).

(Odziedziczone po DependencyObject)
RadiusX

Pobiera lub ustawia wartość x-radius elementu EllipseGeometry.

RadiusY

Pobiera lub ustawia wartość promień y wartości .EllipseGeometry

Transform

Pobiera lub ustawia Transform obiekt zastosowany do obiektu Geometry.

(Odziedziczone po Geometry)

Metody

ApplyAnimationClock(DependencyProperty, AnimationClock)

Stosuje element AnimationClock do określonego DependencyPropertyelementu . Jeśli właściwość jest już animowana, SnapshotAndReplace używane jest zachowanie przekazywania.

(Odziedziczone po Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Stosuje element AnimationClock do określonego DependencyPropertyelementu . Jeśli właściwość jest już animowana, zostanie użyta określona HandoffBehavior wartość .

(Odziedziczone po Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Stosuje animację do określonego DependencyPropertyelementu . Animacja jest uruchamiana po renderowaniu następnej ramki. Jeśli określona właściwość jest już animowana, SnapshotAndReplace zostanie użyte zachowanie przekazywania.

(Odziedziczone po Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Stosuje animację do określonego DependencyPropertyelementu . Animacja jest uruchamiana po renderowaniu następnej ramki. Jeśli określona właściwość jest już animowana, zostanie użyta określona HandoffBehavior właściwość.

(Odziedziczone po Animatable)
CheckAccess()

Określa, czy wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)
ClearValue(DependencyProperty)

Czyści wartość lokalną właściwości. Właściwość do wyczyszczenia jest określana przez DependencyProperty identyfikator.

(Odziedziczone po DependencyObject)
ClearValue(DependencyPropertyKey)

Czyści wartość lokalną właściwości tylko do odczytu. Właściwość do wyczyszczenia jest określana przez DependencyPropertyKeyelement .

(Odziedziczone po DependencyObject)
Clone()

Tworzy modyfikowalny klon tego EllipseGeometryobiektu , tworząc głębokie kopie wartości tego obiektu. Podczas kopiowania właściwości zależności ta metoda kopiuje odwołania do zasobów i powiązania danych (ale mogą nie być już rozpoznawane), ale nie animacje ani ich bieżące wartości.

CloneCore(Freezable)

Sprawia, że wystąpienie jest klonem (kopią głęboką) określonej Freezable wartości właściwości przy użyciu wartości właściwości base (nie animowanych).

(Odziedziczone po Freezable)
CloneCurrentValue()

Tworzy modyfikowalny klon tego EllipseGeometry obiektu, tworząc głębokie kopie bieżących wartości tego obiektu. Odwołania do zasobów, powiązania danych i animacje nie są kopiowane, ale ich bieżące wartości są.

CloneCurrentValueCore(Freezable)

Sprawia, że wystąpienie jest modyfikowalny klon (kopia głęboka) określonego Freezable przy użyciu bieżących wartości właściwości.

(Odziedziczone po Freezable)
CoerceValue(DependencyProperty)

Coerce wartość określonej właściwości zależności. Jest to realizowane przez wywołanie dowolnej CoerceValueCallback funkcji określonej w metadanych właściwości dla właściwości zależności, ponieważ istnieje w wywołaniu DependencyObject.

(Odziedziczone po DependencyObject)
CreateInstance()

Inicjuje nowe wystąpienie klasy Freezable.

(Odziedziczone po Freezable)
CreateInstanceCore()

Po zaimplementowaniu w klasie pochodnej tworzy nowe wystąpienie klasy pochodnej Freezable .

(Odziedziczone po Freezable)
Equals(Object)

Określa, czy podany DependencyObject element jest odpowiednikiem bieżącego DependencyObjectelementu .

(Odziedziczone po DependencyObject)
FillContains(Geometry)

Wskazuje, czy bieżąca geometria całkowicie zawiera określony Geometryelement .

(Odziedziczone po Geometry)
FillContains(Geometry, Double, ToleranceType)

Wskazuje, czy bieżąca geometria zawiera określony Geometrymargines błędu.

(Odziedziczone po Geometry)
FillContains(Point)

Wskazuje, czy geometria zawiera określony Pointelement .

(Odziedziczone po Geometry)
FillContains(Point, Double, ToleranceType)

Wskazuje, czy geometria zawiera określony Pointmargines błędu.

(Odziedziczone po Geometry)
FillContainsWithDetail(Geometry)

Zwraca wartość opisową przecięcia między bieżącą geometrią a określoną geometrią.

(Odziedziczone po Geometry)
FillContainsWithDetail(Geometry, Double, ToleranceType)

Zwraca wartość, która opisuje przecięcie między bieżącą geometrią a określoną geometrią, biorąc pod uwagę określony margines błędu.

(Odziedziczone po Geometry)
Freeze()

Sprawia, że bieżący obiekt jest niezmodyfikowalny i ustawia jego IsFrozen właściwość na true.

(Odziedziczone po Freezable)
FreezeCore(Boolean)

Sprawia, że ten Animatable obiekt jest niezmodyfikowalny lub określa, czy można go niemodyfikować.

(Odziedziczone po Animatable)
GetAnimationBaseValue(DependencyProperty)

Zwraca wartość nie animowaną określonego DependencyPropertyelementu .

(Odziedziczone po Animatable)
GetArea()

Pobiera obszar wypełnionego Geometry regionu obiektu.

(Odziedziczone po Geometry)
GetArea(Double, ToleranceType)

Pobiera obszar tego EllipseGeometryobiektu .

GetAsFrozen()

Tworzy zamrożoną kopię obiektu Freezableprzy użyciu wartości właściwości base (nie animowanych). Ponieważ kopia jest zamrożona, wszystkie zamrożone obiekty podrzędne są kopiowane przez odwołanie.

(Odziedziczone po Freezable)
GetAsFrozenCore(Freezable)

Sprawia, że wystąpienie jest zamrożonym klonem określonej Freezable wartości właściwości przy użyciu wartości właściwości base (nie animowanych).

(Odziedziczone po Freezable)
GetCurrentValueAsFrozen()

Tworzy zamrożoną kopię przy użyciu bieżących Freezable wartości właściwości. Ponieważ kopia jest zamrożona, wszystkie zamrożone obiekty podrzędne są kopiowane przez odwołanie.

(Odziedziczone po Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Sprawia, że bieżące wystąpienie jest klonem zamrożonym określonego Freezableobiektu . Jeśli obiekt ma animowane właściwości zależności, są kopiowane ich bieżące animowane wartości.

(Odziedziczone po Freezable)
GetFlattenedPathGeometry()

Pobiera wartość PathGeometry , która jest wielokątnym przybliżeniem Geometry obiektu.

(Odziedziczone po Geometry)
GetFlattenedPathGeometry(Double, ToleranceType)

Pobiera obiekt PathGeometry, w określonej tolerancji, czyli wielokątne przybliżenie Geometry obiektu.

(Odziedziczone po Geometry)
GetHashCode()

Pobiera kod skrótu dla tego pliku DependencyObject.

(Odziedziczone po DependencyObject)
GetLocalValueEnumerator()

Tworzy wyspecjalizowany moduł wyliczający do określania, które właściwości zależności mają lokalnie ustawione wartości w tym DependencyObjectelemecie .

(Odziedziczone po DependencyObject)
GetOutlinedPathGeometry()

PathGeometry Pobiera uproszczony kontur wypełnionego Geometryregionu .

(Odziedziczone po Geometry)
GetOutlinedPathGeometry(Double, ToleranceType)

Pobiera element PathGeometryw ramach określonej tolerancji, czyli uproszczony kontur wypełnionego Geometryregionu obiektu .

(Odziedziczone po Geometry)
GetRenderBounds(Pen)

Zwraca prostokąt wyrównany do osi, który jest dokładnie wystarczająco duży, aby zawierać geometrię po jego nakreślaniu z określonym Pen.

(Odziedziczone po Geometry)
GetRenderBounds(Pen, Double, ToleranceType)

Zwraca prostokąt wyrównany do osi, który jest dokładnie wystarczająco duży, aby zawierał geometrię po oznaczeniu określonego elementu , biorąc pod uwagę określony Penwspółczynnik tolerancji.

(Odziedziczone po Geometry)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
GetValue(DependencyProperty)

Zwraca bieżącą obowiązującą wartość właściwości zależności dla tego wystąpienia obiektu DependencyObject.

(Odziedziczone po DependencyObject)
GetWidenedPathGeometry(Pen)

Pobiera obiekt , który jest kształtem PathGeometry zdefiniowanym przez pociągnięcie na Geometry obiekcie utworzonym przez określony Penelement .

(Odziedziczone po Geometry)
GetWidenedPathGeometry(Pen, Double, ToleranceType)

Pobiera element , który jest kształtem PathGeometry zdefiniowanym przez pociągnięcie na Geometry określoną Penwartość , biorąc pod uwagę określony współczynnik tolerancji.

(Odziedziczone po Geometry)
InvalidateProperty(DependencyProperty)

Ponownie oblicza efektywną wartość dla określonej właściwości zależności.

(Odziedziczone po DependencyObject)
IsEmpty()

Określa, czy ten EllipseGeometry obiekt jest pusty.

MayHaveCurves()

Określa, czy ten EllipseGeometry obiekt może mieć zakrzywione segmenty.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnChanged()

Wywoływana po zmodyfikowaniu bieżącego Freezable obiektu.

(Odziedziczone po Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Zapewnia, że odpowiednie wskaźniki kontekstu są ustanawiane dla DependencyObjectType elementu członkowskiego danych, który został właśnie ustawiony.

(Odziedziczone po Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Ten element członkowski obsługuje infrastrukturę Windows Presentation Foundation (WPF) i nie jest przeznaczony do użycia bezpośrednio z kodu.

(Odziedziczone po Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Zastępuje implementację DependencyObjectOnPropertyChanged(DependencyPropertyChangedEventArgs) metody w celu wywołania wszystkich Changed procedur obsługi w odpowiedzi na zmieniającą się właściwość zależności typu Freezable.

(Odziedziczone po Freezable)
ReadLocalValue(DependencyProperty)

Zwraca wartość lokalną właściwości zależności, jeśli istnieje.

(Odziedziczone po DependencyObject)
ReadPreamble()

Gwarantuje, że dostęp do obiektu Freezable jest uzyskiwany z prawidłowego wątku. Dziedzicze muszą Freezable wywoływać tę metodę na początku dowolnego interfejsu API, który odczytuje elementy członkowskie danych, które nie są właściwościami zależności.

(Odziedziczone po Freezable)
SetCurrentValue(DependencyProperty, Object)

Ustawia wartość właściwości zależności bez zmiany źródła wartości.

(Odziedziczone po DependencyObject)
SetValue(DependencyProperty, Object)

Ustawia wartość lokalną właściwości zależności określonej przez jego identyfikator właściwości zależności.

(Odziedziczone po DependencyObject)
SetValue(DependencyPropertyKey, Object)

Ustawia wartość lokalną właściwości zależności tylko do odczytu określona przez DependencyPropertyKey identyfikator właściwości zależności.

(Odziedziczone po DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Zwraca wartość wskazującą, czy procesy serializacji powinny serializować wartość podanej właściwości zależności.

(Odziedziczone po DependencyObject)
ShouldSerializeTransform()

Pobiera wartość wskazującą, czy wartość Transform właściwości powinna być serializowana.

(Odziedziczone po Geometry)
StrokeContains(Pen, Point)

Określa, czy określony Point jest zawarty w pociągnięciu generowanym przez zastosowanie określonego Pen elementu do geometrii.

(Odziedziczone po Geometry)
StrokeContains(Pen, Point, Double, ToleranceType)

Określa, czy określony Point jest zawarty w pociągnięciu generowanym przez zastosowanie określonego Pen do geometrii, biorąc pod uwagę określony margines błędu.

(Odziedziczone po Geometry)
StrokeContainsWithDetail(Pen, Geometry)

Zwraca wartość, która opisuje przecięcie między określonym Geometry i pociągnięciem utworzonym przez zastosowanie określonego Pen elementu do bieżącej geometrii.

(Odziedziczone po Geometry)
StrokeContainsWithDetail(Pen, Geometry, Double, ToleranceType)

Pobiera wartość, która opisuje przecięcie między określonym Geometry i pociągnięciem utworzonym przez zastosowanie określonej Pen do bieżącej geometrii, biorąc pod uwagę określony margines błędu.

(Odziedziczone po Geometry)
ToString()

Tworzy reprezentację ciągu obiektu na podstawie bieżącej kultury.

(Odziedziczone po Geometry)
ToString(IFormatProvider)

Tworzy reprezentację ciągu obiektu przy użyciu określonych informacji o formatowaniu specyficznym dla kultury.

(Odziedziczone po Geometry)
VerifyAccess()

Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)
WritePostscript()

Changed Zgłasza zdarzenie dla Freezable metody i wywołuje jej OnChanged() metodę. Klasy pochodzące z Freezable programu powinny wywoływać tę metodę na końcu dowolnego interfejsu API, który modyfikuje składowe klasy, które nie są przechowywane jako właściwości zależności.

(Odziedziczone po Freezable)
WritePreamble()

Sprawdza, czy Freezable element nie jest zamrożony i czy jest uzyskiwany dostęp do niego z prawidłowego kontekstu wątkowego. Freezable dziedzicze powinny wywoływać tę metodę na początku dowolnego interfejsu API, który zapisuje do elementów członkowskich danych, które nie są właściwościami zależności.

(Odziedziczone po Freezable)

Zdarzenia

Changed

Występuje, gdy Freezable obiekt lub, który zawiera, jest modyfikowany.

(Odziedziczone po Freezable)

Jawne implementacje interfejsu

IFormattable.ToString(String, IFormatProvider)

Formatuje wartość bieżącego wystąpienia przy użyciu określonego formatu.

(Odziedziczone po Geometry)

Dotyczy

Zobacz też