EllipseGeometry Classe

Definizione

Rappresenta la geometria di un cerchio o di un'ellisse.

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
Ereditarietà

Esempio

Nell'esempio seguente vengono utilizzati due EllipseGeometry oggetti per definire il contenuto di un oggetto GeometryDrawing. Nell'esempio viene prodotto l'output seguente:

GeometryDrawing di due puntini di sospensione
Due oggetti 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>

Commenti

Utilizzare la EllipseGeometry classe con un Path elemento o un GeometryDrawing oggetto per disegnare un'ellisse o con la Clip proprietà di un UIElement oggetto per definire un'area di ritaglio ellittica. La EllipseGeometry classe ha anche molti altri usi. Per altre informazioni su , vedere Cenni preliminari sulla EllipseGeometrygeometria.

EllipseGeometry confrontato con Ellipse

La Ellipse classe ha proprietà Filldi rendering , Strokee altre proprietà di rendering mancanti EllipseGeometry . La Ellipse classe è e FrameworkElement quindi partecipa al sistema di layout, che può essere usata come contenuto di qualsiasi elemento che supporta UIElement gli elementi figlio.

La EllipseGeometry classe, d'altra parte, definisce semplicemente la geometria di un'ellisse e non può eseguirne il rendering. Grazie alla sua semplicità, ha una gamma più ampia di usi.

Funzionalità di Freezable

Un EllipseGeometry è un tipo di Freezable oggetto e pertanto può essere bloccato per migliorare le prestazioni. Per informazioni sulle Freezable funzionalità, ad esempio il blocco e la clonazione, vedere Cenni preliminari sugli oggetti Freezable.

Costruttori

EllipseGeometry()

Inizializza una nuova istanza della classe EllipseGeometry.

EllipseGeometry(Point, Double, Double)

Inizializza una nuova istanza della classe EllipseGeometry sotto forma di ellisse con posizione del centro, raggio x e raggio y specificati.

EllipseGeometry(Point, Double, Double, Transform)

Inizializza una nuova istanza della classe EllipseGeometry con la posizione, la dimensione e la trasformazione specificate.

EllipseGeometry(Rect)

Inizializza una nuova istanza della classe EllipseGeometry che presenta un diametro orizzontale uguale alla larghezza dell'oggetto Rect passato, un diametro verticale uguale alla lunghezza dell'oggetto Rect passato e una posizione relativa al punto centrale uguale al centro dell'oggetto Rect passato.

Campi

CenterProperty

Identifica la proprietà di dipendenza Center.

RadiusXProperty

Identifica la proprietà di dipendenza RadiusX.

RadiusYProperty

Identifica la proprietà di dipendenza RadiusY.

Proprietà

Bounds

Ottiene un oggetto Rect che rappresenta il riquadro delimitatore del testo di questo oggetto EllipseGeometry. Per questo metodo non viene presa in considerazione l'area potenzialmente aggiunta mediante un tratto.

CanFreeze

Ottiene un valore che indica se l'oggetto può essere impostato come non modificabile.

(Ereditato da Freezable)
Center

Ottiene o imposta il punto centrale di EllipseGeometry.

DependencyObjectType

Ottiene l'oggetto DependencyObjectType che esegue il wrapping del tipo CLR di questa istanza.

(Ereditato da DependencyObject)
Dispatcher

Ottiene l'oggetto Dispatcher associato a DispatcherObject.

(Ereditato da DispatcherObject)
HasAnimatedProperties

Ottiene un valore che indica se uno o più oggetti AnimationClock sono associati a una qualsiasi delle proprietà di dipendenza di questo oggetto.

(Ereditato da Animatable)
IsFrozen

Ottiene un valore che indica se l'oggetto è attualmente modificabile.

(Ereditato da Freezable)
IsSealed

Ottiene un valore che indica se l'istanza è attualmente sealed (di sola lettura).

(Ereditato da DependencyObject)
RadiusX

Ottiene o imposta il valore del raggio x di EllipseGeometry.

RadiusY

Ottiene o imposta il valore del raggio y di EllipseGeometry.

Transform

Ottiene o imposta l'oggetto Transform applicato a un oggetto Geometry.

(Ereditato da Geometry)

Metodi

ApplyAnimationClock(DependencyProperty, AnimationClock)

Applica un oggetto AnimationClock all'oggetto DependencyProperty specificato. Se la proprietà è già animata, viene usato il comportamento di continuità di SnapshotAndReplace.

(Ereditato da Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Applica un oggetto AnimationClock all'oggetto DependencyProperty specificato. Se alla proprietà è già stata aggiunta un'animazione, viene utilizzato l'oggetto HandoffBehavior specificato.

(Ereditato da Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Applica un'animazione all'oggetto DependencyProperty specificato. L'animazione viene avviata quando viene eseguito il rendering del fotogramma successivo. Se alla proprietà specificata è già applicata un'animazione, viene usato il comportamento di continuità di SnapshotAndReplace.

(Ereditato da Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Applica un'animazione all'oggetto DependencyProperty specificato. L'animazione viene avviata quando viene eseguito il rendering del fotogramma successivo. Se alla proprietà specificata è già stata aggiunta un'animazione, viene utilizzato l'oggetto HandoffBehavior specificato.

(Ereditato da Animatable)
CheckAccess()

Determina se il thread chiamante ha accesso a DispatcherObject.

(Ereditato da DispatcherObject)
ClearValue(DependencyProperty)

Cancella il valore locale di una proprietà. La proprietà da cancellare è specificata da un identificatore DependencyProperty.

(Ereditato da DependencyObject)
ClearValue(DependencyPropertyKey)

Cancella il valore locale di una proprietà di sola lettura. La proprietà da cancellare è specificata da un oggetto DependencyPropertyKey.

(Ereditato da DependencyObject)
Clone()

Crea un clone modificabile di questo oggetto EllipseGeometry, eseguendo copie complete dei valori dell'oggetto. Durante la copia delle proprietà di dipendenza, questo metodo copia i riferimenti alle risorse e i data binding (che potrebbero non essere più risolti), ma non le animazioni né i relativi valori correnti.

CloneCore(Freezable)

Rende l'istanza un clone (copia completa) dell'oggetto Freezable specificato usando i valori di proprietà di base (non animati).

(Ereditato da Freezable)
CloneCurrentValue()

Crea un clone modificabile dell'oggetto EllipseGeometry, eseguendo copie complete dei valori correnti di tale oggetto. I riferimenti alle risorse, i data binding e le animazioni non vengono copiati, ma vengono copiati i relativi valori correnti.

CloneCurrentValueCore(Freezable)

Rende l'istanza un clone (copia completa) modificabile dell'oggetto Freezable specificato usando i valori di proprietà correnti.

(Ereditato da Freezable)
CoerceValue(DependencyProperty)

Assegna forzatamente il valore della proprietà di dipendenza specificata. Questa operazione viene eseguita richiamando qualsiasi funzione CoerceValueCallback specificata nei metadati della proprietà di dipendenza esistente nell'oggetto DependencyObject chiamante.

(Ereditato da DependencyObject)
CreateInstance()

Inizializza una nuova istanza della classe Freezable.

(Ereditato da Freezable)
CreateInstanceCore()

Quando è implementato in una classe derivata, crea una nuova istanza della classe derivata Freezable.

(Ereditato da Freezable)
Equals(Object)

Determina se l'oggetto DependencyObject specificato equivale all'oggetto DependencyObject corrente.

(Ereditato da DependencyObject)
FillContains(Geometry)

Indica se la geometria corrente contiene completamente l'oggetto Geometry specificato.

(Ereditato da Geometry)
FillContains(Geometry, Double, ToleranceType)

Indica se la geometria corrente contiene o meno l'oggetto Geometry specificato, in base al margine di errore definito.

(Ereditato da Geometry)
FillContains(Point)

Indica se la geometria contiene o meno l'oggetto Point specificato.

(Ereditato da Geometry)
FillContains(Point, Double, ToleranceType)

Indica se la geometria contiene o meno l'oggetto Point specificato in base al margine di errore definito.

(Ereditato da Geometry)
FillContainsWithDetail(Geometry)

Restituisce un valore che descrive l'intersezione tra la geometria corrente e la geometria specificata.

(Ereditato da Geometry)
FillContainsWithDetail(Geometry, Double, ToleranceType)

Restituisce un valore che descrive l'intersezione tra la geometria corrente e la geometria specificata in base al margine di errore definito.

(Ereditato da Geometry)
Freeze()

Rende non modificabile l'oggetto corrente e ne imposta la proprietà IsFrozen su true.

(Ereditato da Freezable)
FreezeCore(Boolean)

Rende immodificabile questo oggetto Animatable o determina se l'oggetto può essere reso immodificabile.

(Ereditato da Animatable)
GetAnimationBaseValue(DependencyProperty)

Restituisce il valore non animato dell'oggetto DependencyProperty specificato.

(Ereditato da Animatable)
GetArea()

Ottiene l'area riempita dell'oggetto Geometry.

(Ereditato da Geometry)
GetArea(Double, ToleranceType)

Ottiene l'area dell'oggetto EllipseGeometry corrente.

GetAsFrozen()

Crea una copia bloccata di Freezable, utilizzando valori delle proprietà di base (non-animati). Dato che la copia è bloccata, gli oggetti secondari bloccati sono copiati dal riferimento.

(Ereditato da Freezable)
GetAsFrozenCore(Freezable)

Rende l'istanza un clone bloccato dell'oggetto Freezable specificato usando i valori di proprietà di base (non animati).

(Ereditato da Freezable)
GetCurrentValueAsFrozen()

Crea una copia bloccata di Freezable utilizzando valori della proprietà correnti. Dato che la copia è bloccata, gli oggetti secondari bloccati sono copiati dal riferimento.

(Ereditato da Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Rende l'istanza corrente un clone bloccato dell'oggetto Freezable specificato. Se l'oggetto ha proprietà di dipendenza animate, i valori animati correnti vengono copiati.

(Ereditato da Freezable)
GetFlattenedPathGeometry()

Ottiene un oggetto PathGeometry, ovvero un'approssimazione poligonale dell'oggetto Geometry.

(Ereditato da Geometry)
GetFlattenedPathGeometry(Double, ToleranceType)

Ottiene un oggetto PathGeometry, ovvero un'approssimazione poligonale dell'oggetto Geometry, nell'ambito della tolleranza specificata.

(Ereditato da Geometry)
GetHashCode()

Ottiene un codice hash per l'oggetto DependencyObject.

(Ereditato da DependencyObject)
GetLocalValueEnumerator()

Crea un enumeratore specializzato per determinare le proprietà di dipendenza che presentano valori impostati localmente nell'oggetto DependencyObject.

(Ereditato da DependencyObject)
GetOutlinedPathGeometry()

Ottiene un oggetto PathGeometry, ovvero una struttura semplificata dell'area riempita dell'oggetto Geometry.

(Ereditato da Geometry)
GetOutlinedPathGeometry(Double, ToleranceType)

Ottiene un oggetto PathGeometry, ovvero una struttura semplificata dell'area riempita dell'oggetto Geometry, nell'ambito della tolleranza specificata.

(Ereditato da Geometry)
GetRenderBounds(Pen)

Restituisce un rettangolo allineato all'asse sufficientemente grande da contenere la geometria delineata con l'oggetto Pen specificato.

(Ereditato da Geometry)
GetRenderBounds(Pen, Double, ToleranceType)

Restituisce un rettangolo allineato all'asse sufficientemente grande da contenere la geometria delineata con l'oggetto Pen specificato, in base al fattore di tolleranza definito.

(Ereditato da Geometry)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
GetValue(DependencyProperty)

Restituisce il valore effettivo corrente di una proprietà di dipendenza in questa istanza di DependencyObject.

(Ereditato da DependencyObject)
GetWidenedPathGeometry(Pen)

Ottiene un oggetto PathGeometry, ovvero la forma definita dal tratto sull'oggetto Geometry prodotto dall'oggetto Pen specificato.

(Ereditato da Geometry)
GetWidenedPathGeometry(Pen, Double, ToleranceType)

Ottiene un oggetto PathGeometry, ovvero la forma definita dal tratto sull'oggetto Geometry prodotto dall'oggetto Pen specificato, in base al fattore di tolleranza definito.

(Ereditato da Geometry)
InvalidateProperty(DependencyProperty)

Valuta di nuovo il valore effettivo della proprietà di dipendenza specificata.

(Ereditato da DependencyObject)
IsEmpty()

Determina se l'oggetto EllipseGeometry è vuoto o meno.

MayHaveCurves()

Determina se l'oggetto EllipseGeometry può presentare o meno segmenti curvi.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnChanged()

Chiamato quando viene modificato l'oggetto Freezable corrente.

(Ereditato da Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Assicura che adatti puntatori del contesto siano stabiliti per un membro dati DependencyObjectType che è appena stato impostato.

(Ereditato da Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Questo membro supporta l'infrastruttura Windows Presentation Foundation (WPF) e non deve essere usato direttamente dal codice.

(Ereditato da Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Esegue l'override dell'implementazione di DependencyObject di OnPropertyChanged(DependencyPropertyChangedEventArgs) per richiamare anche eventuali gestori Changed in risposta alla modifica di una proprietà di dipendenza di tipo Freezable.

(Ereditato da Freezable)
ReadLocalValue(DependencyProperty)

Restituisce il valore locale di una proprietà di dipendenza, se esistente.

(Ereditato da DependencyObject)
ReadPreamble()

Assicura che l’accesso di Freezable sia stato eseguito da un thread valido. Gli eredi di Freezable devono chiamare questo metodo all'inizio di qualsiasi API che legge i membri dei dati che non sono proprietà della dipendenza.

(Ereditato da Freezable)
SetCurrentValue(DependencyProperty, Object)

Imposta il valore di una proprietà di dipendenza senza modificare l'origine del valore.

(Ereditato da DependencyObject)
SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza, specificato dal relativo identificatore della proprietà di dipendenza.

(Ereditato da DependencyObject)
SetValue(DependencyPropertyKey, Object)

Imposta il valore locale di una proprietà di dipendenza di sola lettura, specificato dall'identificatore DependencyPropertyKey della proprietà di dipendenza.

(Ereditato da DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Restituisce un valore che indica se i processi di serializzazione devono serializzare il valore della proprietà di dipendenza specificata.

(Ereditato da DependencyObject)
ShouldSerializeTransform()

Ottiene un valore che indica se il valore della proprietà Transform deve essere serializzato.

(Ereditato da Geometry)
StrokeContains(Pen, Point)

Determina se l'oggetto Point specificato è contenuto o meno nel tratto prodotto applicando l'oggetto Pen specificato alla geometria.

(Ereditato da Geometry)
StrokeContains(Pen, Point, Double, ToleranceType)

Determina se l'oggetto Point specificato è contenuto o meno nel tratto prodotto applicando l'oggetto Pen specificato alla geometria, in base al margine di errore definito.

(Ereditato da Geometry)
StrokeContainsWithDetail(Pen, Geometry)

Restituisce un valore che descrive l'intersezione tra l'oggetto Geometry specificato e il tratto creato applicando l'oggetto Pen specificato alla geometria corrente.

(Ereditato da Geometry)
StrokeContainsWithDetail(Pen, Geometry, Double, ToleranceType)

Ottiene un valore che descrive l'intersezione tra l'oggetto Geometry specificato e il tratto creato applicando l'oggetto Pen specificato alla geometria corrente, in base al margine di errore definito

(Ereditato da Geometry)
ToString()

Crea una rappresentazione di stringa dell'oggetto in base alle impostazioni cultura correnti.

(Ereditato da Geometry)
ToString(IFormatProvider)

Crea una rappresentazione di stringa dell'oggetto utilizzando le informazioni di formattazione specifiche delle impostazioni cultura specificate.

(Ereditato da Geometry)
VerifyAccess()

Impone che il thread chiamante abbia accesso a DispatcherObject.

(Ereditato da DispatcherObject)
WritePostscript()

Genera l'evento Changed per Freezable e richiama il metodo OnChanged(). Le classi che derivano da Freezable devono chiamare questo metodo alla fine di qualsiasi API che modifica i membri di classe che non sono archiviati come proprietà di dipendenza.

(Ereditato da Freezable)
WritePreamble()

Verifica che l'oggetto Freezable non sia bloccato e che l'accesso sia eseguito da un contesto di threading valido. Gli eredi di Freezable devono chiamare questo metodo all'inizio di qualsiasi API che scrive sui membri dei dati che non sono proprietà della dipendenza.

(Ereditato da Freezable)

Eventi

Changed

Si verifica quando Freezable o un oggetto che contiene è modificato.

(Ereditato da Freezable)

Implementazioni dell'interfaccia esplicita

IFormattable.ToString(String, IFormatProvider)

Formatta il valore dell'istanza corrente usando il formato specificato.

(Ereditato da Geometry)

Si applica a

Vedi anche