EllipseGeometry Clase

Definición

Representa la geometría de un círculo o elipse.

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
Herencia

Ejemplos

En el ejemplo siguiente se usan dos EllipseGeometry objetos para definir el contenido de .GeometryDrawing Este ejemplo produce el siguiente resultado:

GeometryDrawing de dos puntos suspensivos
Dos objetos 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>

Comentarios

Utilice la EllipseGeometry clase con un Path elemento o un GeometryDrawing para dibujar una elipse o con la Clip propiedad de para UIElement definir una región de clip elíptica. La EllipseGeometry clase también tiene muchos otros usos. Para obtener más información sobre EllipseGeometry, vea Información general sobre geometry.

ElipseGeometry en comparación con la elipse

La Ellipse clase tiene una Fillpropiedad , Strokey otras propiedades de representación que EllipseGeometry carecen. La Ellipse clase es y FrameworkElement , por tanto, participa en el sistema de diseño; se puede usar como contenido de cualquier elemento que admita UIElement elementos secundarios.

Por EllipseGeometry otro lado, la clase simplemente define la geometría de una elipse y no se puede representar. Debido a su simplicidad, tiene una gama más amplia de usos.

Características de objeto Freezable

Es EllipseGeometry un tipo de Freezable objeto y, por lo tanto, se puede inmovilizar para mejorar el rendimiento. Para obtener información sobre Freezable las características, como la congelación y la clonación, vea Información general sobre objetos freezable.

Constructores

EllipseGeometry()

Inicializa una nueva instancia de la clase EllipseGeometry.

EllipseGeometry(Point, Double, Double)

Inicializa una nueva instancia de la clase EllipseGeometry como una elipse con la ubicación de centro, el radio X y el radio Y especificados.

EllipseGeometry(Point, Double, Double, Transform)

Inicializa una nueva instancia de la clase EllipseGeometry con la posición, el tamaño y la transformación especificados.

EllipseGeometry(Rect)

Inicializa una nueva instancia de la clase EllipseGeometry que tiene un diámetro horizontal igual al ancho de la estructura Rect pasada, un diámetro vertical igual a la longitud de la estructura Rect pasada y una ubicación del punto central igual al centro de la estructura Rect pasada.

Campos

CenterProperty

Identifica la propiedad de dependencia Center.

RadiusXProperty

Identifica la propiedad de dependencia RadiusX.

RadiusYProperty

Identifica la propiedad de dependencia RadiusY.

Propiedades

Bounds

Obtiene una estructura Rect que representa el rectángulo de selección de este objeto EllipseGeometry. Este método no considera el área adicional agregada potencialmente por un trazo.

CanFreeze

Obtiene un valor que indica si el objeto se puede convertir en no modificable.

(Heredado de Freezable)
Center

Obtiene o establece el punto central de EllipseGeometry.

DependencyObjectType

Obtiene el DependencyObjectType objeto que encapsula el tipo CLR de esta instancia.

(Heredado de DependencyObject)
Dispatcher

Obtiene el objeto Dispatcher al que está asociado DispatcherObject.

(Heredado de DispatcherObject)
HasAnimatedProperties

Obtiene un valor que indica si uno o más objetos AnimationClock se asocian a cualquiera de las propiedades de dependencia de este objeto.

(Heredado de Animatable)
IsFrozen

Obtiene un valor que indica si el objeto se puede modificar actualmente.

(Heredado de Freezable)
IsSealed

Obtiene un valor que indica si esta instancia está actualmente sellada (es de solo lectura).

(Heredado de DependencyObject)
RadiusX

Obtiene o establece el valor del radio x de la EllipseGeometry.

RadiusY

Obtiene o establece el valor de radio y de la EllipseGeometry.

Transform

Obtiene o establece el objeto Transform aplicado a Geometry.

(Heredado de Geometry)

Métodos

ApplyAnimationClock(DependencyProperty, AnimationClock)

Se aplica AnimationClock al valor de DependencyProperty especificado. Si la propiedad ya está animada, se usa el comportamiento de entrega SnapshotAndReplace.

(Heredado de Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Se aplica AnimationClock al valor de DependencyProperty especificado. Si la propiedad ya está animada, se usa el objeto HandoffBehavior especificado.

(Heredado de Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Aplica una animación a la DependencyProperty especificada. La animación se inicia al representar el siguiente fotograma. Si la propiedad especificada ya está animada, se usa el comportamiento de entrega SnapshotAndReplace.

(Heredado de Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Aplica una animación a la DependencyProperty especificada. La animación se inicia al representar el siguiente fotograma. Si la propiedad especificada ya está animada, se usa el objeto HandoffBehavior especificado.

(Heredado de Animatable)
CheckAccess()

Determina si el subproceso de la llamada tiene acceso a DispatcherObject.

(Heredado de DispatcherObject)
ClearValue(DependencyProperty)

Borra el valor local de una propiedad. La propiedad que se va a borrar se especifica mediante un identificador DependencyProperty.

(Heredado de DependencyObject)
ClearValue(DependencyPropertyKey)

Borra el valor local de una propiedad de solo lectura. La propiedad que se va a borrar se especifica mediante un DependencyPropertyKey.

(Heredado de DependencyObject)
Clone()

Crea un clon modificable de este EllipseGeometry y hace copias en profundidad de los valores de este objeto. Cuando se copian propiedades de dependencia, este método copia las referencias de recursos y enlaces de datos (aunque podrían no resolverse), pero no copia las animaciones ni sus valores actuales.

CloneCore(Freezable)

Convierte la instancia en un clon (copia en profundidad) de la clase Freezable especificada con valores de propiedad base (no animadas).

(Heredado de Freezable)
CloneCurrentValue()

Crea un clon modificable de este objeto EllipseGeometry y hace copias en profundidad de sus valores actuales. Las referencias de recursos, los enlaces de datos y las animaciones no se copian, pero sí sus valores actuales.

CloneCurrentValueCore(Freezable)

Convierte esta instancia en un clon modificable (copia en profundidad) del Freezable especificado mediante los valores de propiedad actuales.

(Heredado de Freezable)
CoerceValue(DependencyProperty)

Convierte el valor de la propiedad de dependencia especificada. Esto se logra invocando cualquier función CoerceValueCallback especificada en los metadatos de la propiedad de dependencia tal como existe en la clase DependencyObject que llama.

(Heredado de DependencyObject)
CreateInstance()

Inicializa una nueva instancia de la clase Freezable.

(Heredado de Freezable)
CreateInstanceCore()

Cuando se implementa en una clase derivada, crea una nueva instancia de la clase Freezable derivada.

(Heredado de Freezable)
Equals(Object)

Determina si un objeto DependencyObject proporcionado es equivalente al objeto DependencyObject actual.

(Heredado de DependencyObject)
FillContains(Geometry)

Indica si la geometría actual contiene íntegramente el objeto Geometry especificado.

(Heredado de Geometry)
FillContains(Geometry, Double, ToleranceType)

Indica si la geometría actual contiene el objeto Geometry especificado, dado el margen de error especificado.

(Heredado de Geometry)
FillContains(Point)

Indica si la geometría contiene el objeto Point especificado.

(Heredado de Geometry)
FillContains(Point, Double, ToleranceType)

Indica si la geometría contiene el objeto Point especificado, dado el margen de error especificado.

(Heredado de Geometry)
FillContainsWithDetail(Geometry)

Devuelve un valor que describe la intersección entre la actual geometría y la geometría especificada.

(Heredado de Geometry)
FillContainsWithDetail(Geometry, Double, ToleranceType)

Devuelve un valor que describe la intersección entre la geometría actual y la geometría especificada, dado el margen de error especificado.

(Heredado de Geometry)
Freeze()

Convierte el objeto actual en no modificable y establece su propiedad IsFrozen en true.

(Heredado de Freezable)
FreezeCore(Boolean)

Convierte este objeto Animatable en no modificable o determina si se puede convertir en no modificable.

(Heredado de Animatable)
GetAnimationBaseValue(DependencyProperty)

Devuelve el valor no animado del objeto DependencyProperty especificado.

(Heredado de Animatable)
GetArea()

Obtiene el área de la región rellena del objeto Geometry.

(Heredado de Geometry)
GetArea(Double, ToleranceType)

Obtiene el área de este objeto EllipseGeometry.

GetAsFrozen()

Crea una copia inmovilizada de Freezable, con los valores de propiedades base (no animadas). Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia.

(Heredado de Freezable)
GetAsFrozenCore(Freezable)

Convierte la instancia en un clon inmovilizado de la clase Freezable especificada con los valores de propiedades base (no animadas).

(Heredado de Freezable)
GetCurrentValueAsFrozen()

Crea una copia inmovilizada de Freezable con los valores de propiedad actuales. Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia.

(Heredado de Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Convierte la instancia actual en un clon inmovilizado del valor de Freezable especificado. Si el objeto tiene propiedades de dependencia animadas, se copian sus valores animados actuales.

(Heredado de Freezable)
GetFlattenedPathGeometry()

Obtiene PathGeometry, que es una aproximación poligonal del objeto Geometry.

(Heredado de Geometry)
GetFlattenedPathGeometry(Double, ToleranceType)

Obtiene PathGeometry, dentro de la tolerancia especificada, que es una aproximación poligonal del objeto Geometry.

(Heredado de Geometry)
GetHashCode()

Obtiene un código hash de este objeto DependencyObject.

(Heredado de DependencyObject)
GetLocalValueEnumerator()

Crea un enumerador especializado para determinar qué propiedades de dependencia han establecido localmente los valores en DependencyObject.

(Heredado de DependencyObject)
GetOutlinedPathGeometry()

Obtiene PathGeometry, que es un contorno simplificado de la región rellena de Geometry.

(Heredado de Geometry)
GetOutlinedPathGeometry(Double, ToleranceType)

Obtiene PathGeometry, dentro de la tolerancia especificada, que es un contorno simplificado de la región rellena de Geometry.

(Heredado de Geometry)
GetRenderBounds(Pen)

Devuelve un rectángulo alineado con el eje que es suficientemente grande como para contener la geometría después de que se haya dibujado con el objeto Pen especificado.

(Heredado de Geometry)
GetRenderBounds(Pen, Double, ToleranceType)

Devuelve un rectángulo alineado con el eje que es suficientemente grande como para contener la geometría después de que se haya dibujado con el objeto Pen especificado y dado el factor de tolerancia especificado.

(Heredado de Geometry)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetValue(DependencyProperty)

Devuelve el valor efectivo actual de una propiedad de dependencia en esta instancia de un DependencyObject.

(Heredado de DependencyObject)
GetWidenedPathGeometry(Pen)

Obtiene PathGeometry, que es la forma definida por el trazo en el objeto Geometry generado por el objeto Pen especificado.

(Heredado de Geometry)
GetWidenedPathGeometry(Pen, Double, ToleranceType)

Obtiene PathGeometry, que es la forma definida por el trazo en el objeto Geometry generado por el objeto Pen especificado y dado el factor de tolerancia especificado.

(Heredado de Geometry)
InvalidateProperty(DependencyProperty)

Vuelve a evaluar el valor efectivo para la propiedad de dependencia especificada.

(Heredado de DependencyObject)
IsEmpty()

Determina si este objeto EllipseGeometry está vacío.

MayHaveCurves()

Determina si este objeto EllipseGeometry puede tener segmentos curvados.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OnChanged()

Se le llama cuando el objeto Freezable actual se modifica.

(Heredado de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Se asegura de que se establecen los punteros contextuales adecuados para un miembro de datos DependencyObjectType que se acaba de establecer.

(Heredado de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Este miembro admite la infraestructura de Windows Presentation Foundation (WPF) y no está pensada para usarse directamente desde el código.

(Heredado de Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Reemplaza la implementación DependencyObject de OnPropertyChanged(DependencyPropertyChangedEventArgs) para invocar también cualquier controlador Changed en respuesta a una propiedad de dependencia cambiante de tipo Freezable.

(Heredado de Freezable)
ReadLocalValue(DependencyProperty)

Devuelve el valor local de una propiedad de dependencia, si existe.

(Heredado de DependencyObject)
ReadPreamble()

Se asegura de que se tiene acceso a Freezable desde un subproceso válido. Los herederos de Freezable deben llamar a este método al inicio de las API que leen miembros de datos que no son propiedades de dependencia.

(Heredado de Freezable)
SetCurrentValue(DependencyProperty, Object)

Establece el valor de una propiedad de dependencia sin cambiar el origen del valor.

(Heredado de DependencyObject)
SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia, especificado mediante el identificador de la propiedad de dependencia.

(Heredado de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Establece el valor local de una propiedad de dependencia de solo lectura, especificado por el identificador DependencyPropertyKey de la propiedad de dependencia.

(Heredado de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Devuelve un valor que indica si los procesos de serialización deben serializar el valor de la propiedad de dependencia especificada.

(Heredado de DependencyObject)
ShouldSerializeTransform()

Obtiene un valor que indica si debe serializarse el valor de la propiedad Transform.

(Heredado de Geometry)
StrokeContains(Pen, Point)

Determina si el objeto Point especificado está incluido en el trazo que se ha generado aplicando a la geometría el objeto Pen especificado.

(Heredado de Geometry)
StrokeContains(Pen, Point, Double, ToleranceType)

Determina si el objeto Point especificado se encuentra en el trazo que se ha generado aplicando a la geometría el objeto Pen especificado, dado el margen de error especificado.

(Heredado de Geometry)
StrokeContainsWithDetail(Pen, Geometry)

Devuelve un valor que describe la intersección entre el objeto Geometry especificado y el trazo que se ha creado aplicando a la geometría actual el objeto Pen especificado.

(Heredado de Geometry)
StrokeContainsWithDetail(Pen, Geometry, Double, ToleranceType)

Obtiene un valor que describe la intersección entre el objeto Geometry especificado y el trazo que se ha creado aplicando a la geometría actual el objeto Pen especificado, dado el margen de error indicado.

(Heredado de Geometry)
ToString()

Crea una representación en forma de cadena del objeto basándose en la actual referencia cultural.

(Heredado de Geometry)
ToString(IFormatProvider)

Crea una representación en forma de cadena del objeto utilizando la información de formato específica de la referencia cultural especificada.

(Heredado de Geometry)
VerifyAccess()

Exige que el subproceso de la llamada tenga acceso a DispatcherObject.

(Heredado de DispatcherObject)
WritePostscript()

Genera el evento Changed para Freezable e invoca su método OnChanged(). Las clases que derivan de Freezable deben llamar a este método al final de cualquier API que modifique miembros de clase que no estén almacenados como propiedades de dependencia.

(Heredado de Freezable)
WritePreamble()

Comprueba que no se inmovilice Freezable y que se tiene acceso desde un contexto de subproceso válido. Los herederos de Freezable deben llamar a este método al inicio de las API que escriben en miembros de datos que no son propiedades de dependencia.

(Heredado de Freezable)

Eventos

Changed

Se produce cuando se modifican la clase Freezable o un objeto que la contiene.

(Heredado de Freezable)

Implementaciones de interfaz explícitas

IFormattable.ToString(String, IFormatProvider)

Da formato al valor de la instancia actual usando el formato especificado.

(Heredado de Geometry)

Se aplica a

Consulte también