Compartilhar via


EllipseGeometry Classe

Definição

Representa a geometria de um círculo ou 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
Herança

Exemplos

O exemplo a seguir usa dois EllipseGeometry objetos para definir o conteúdo de um GeometryDrawing. Esse exemplo gera a saída a seguir:

Um GeometryDrawing de duas reticências
Dois 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>

Comentários

Use a EllipseGeometry classe com um Path elemento ou um GeometryDrawing para desenhar uma elipse ou com a Clip propriedade de um UIElement para definir uma região de clipe elíptica. A EllipseGeometry classe também tem muitos outros usos. Para obter mais informações sobre EllipseGeometry, consulte Visão geral da geometria.

ElipseGeometry comparado com elipse

A Ellipse classe tem uma Fill, Strokee outras propriedades de renderização que EllipseGeometry não têm. A Ellipse classe é uma FrameworkElement e, portanto, participa do sistema de layout; ela pode ser usada como o conteúdo de qualquer elemento que dê suporte UIElement a filhos.

A EllipseGeometry classe, por outro lado, simplesmente define a geometria de uma elipse e não pode se renderizar. Devido à sua simplicidade, ele tem uma gama mais ampla de usos.

Recursos congeláveis

Um EllipseGeometry é um tipo de Freezable objeto e, portanto, pode ser congelado para melhorar o desempenho. Para obter informações sobre Freezable recursos, como congelamento e clonagem, consulte Visão geral dos objetos freezable.

Construtores

EllipseGeometry()

Inicializa uma nova instância da classe EllipseGeometry.

EllipseGeometry(Point, Double, Double)

Inicializa uma nova instância da classe EllipseGeometry como uma elipse que tem o local central, o raio x e o raio y especificados.

EllipseGeometry(Point, Double, Double, Transform)

Inicializa uma nova instância da classe EllipseGeometry que tem a posição, o tamanho e a transformação especificados.

EllipseGeometry(Rect)

Inicializa uma nova instância da classe EllipseGeometry que tem um diâmetro horizontal igual à largura do Rect passado, um diâmetro vertical igual ao comprimento do Rect passado e um local de ponto central igual ao centro do Rect passado.

Campos

CenterProperty

Identifica a propriedade de dependência Center.

RadiusXProperty

Identifica a propriedade de dependência RadiusX.

RadiusYProperty

Identifica a propriedade de dependência RadiusY.

Propriedades

Bounds

Obtém um Rect que representa a caixa delimitadora desse EllipseGeometry. Esse método não considera a área extra potencialmente adicionada por um traço.

CanFreeze

Obtém um valor que indica se o objeto pode se tornar não modificável.

(Herdado de Freezable)
Center

Obtém ou define o ponto central do EllipseGeometry.

DependencyObjectType

Obtém o DependencyObjectType que encapsula o tipo CLR dessa instância.

(Herdado de DependencyObject)
Dispatcher

Obtém o Dispatcher ao qual este DispatcherObject está associado.

(Herdado de DispatcherObject)
HasAnimatedProperties

Obtém um valor que indica se um ou mais objetos AnimationClock está associado a qualquer uma das propriedades de dependência do objeto.

(Herdado de Animatable)
IsFrozen

Obtém um valor que indica se o objeto pode ser modificado no momento.

(Herdado de Freezable)
IsSealed

Obtém um valor que indica se essa instância está validada no momento (somente leitura).

(Herdado de DependencyObject)
RadiusX

Obtém ou define o valor de raio x do EllipseGeometry.

RadiusY

Obtém ou define o valor de raio y do EllipseGeometry.

Transform

Obtém ou define o objeto Transform aplicado a um Geometry.

(Herdado de Geometry)

Métodos

ApplyAnimationClock(DependencyProperty, AnimationClock)

Aplica um AnimationClock ao DependencyProperty especificado. Se a propriedade já tiver sido animada, o comportamento de entrega de SnapshotAndReplace será usado.

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

Aplica um AnimationClock ao DependencyProperty especificado. Se a propriedade já for animada, o HandoffBehavior especificado será usado.

(Herdado de Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Aplica uma animação ao DependencyProperty especificado. A animação é iniciada quando o próximo quadro for renderizado. Se a propriedade especificada já tiver sido animada, o comportamento de entrega de SnapshotAndReplace será usado.

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

Aplica uma animação ao DependencyProperty especificado. A animação é iniciada quando o próximo quadro for renderizado. Se a propriedade especifica já for animada, o HandoffBehavior especificado será usado.

(Herdado de Animatable)
CheckAccess()

Determina se o thread de chamada tem acesso a este DispatcherObject.

(Herdado de DispatcherObject)
ClearValue(DependencyProperty)

Limpa o valor local de uma propriedade. A propriedade a ser limpa é especificada por um identificador DependencyProperty.

(Herdado de DependencyObject)
ClearValue(DependencyPropertyKey)

Limpa o valor local de uma propriedade somente leitura. A propriedade a ser limpa é especificada por um DependencyPropertyKey.

(Herdado de DependencyObject)
Clone()

Cria um clone modificável desse EllipseGeometry, fazendo cópias em profundidade dos valores do objeto. Ao copiar as propriedades de dependência, esse método copia associações de dados e referências de recurso (mas eles não podem mais resolver), mas não animações ou seus valores atuais.

CloneCore(Freezable)

Faz com que a instância seja um clone (cópia em profundidade) do Freezable especificado usando valores de propriedade base (não animados).

(Herdado de Freezable)
CloneCurrentValue()

Cria um clone modificável desse objeto EllipseGeometry, fazendo cópias em profundidade dos valores do objeto atual. Referências a recursos, vinculações de dados e animações não são copiadas, mas seus valores atuais são.

CloneCurrentValueCore(Freezable)

Torna a instância um clone modificável (cópia em profundidade) do Freezable especificado usando os valores de propriedade atuais.

(Herdado de Freezable)
CoerceValue(DependencyProperty)

Converte o valor da propriedade de dependência especificada. Isso é feito invocando qualquer função CoerceValueCallback especificada nos metadados de propriedade para a propriedade de dependência, visto que ela existe na chamada a DependencyObject.

(Herdado de DependencyObject)
CreateInstance()

Inicializa uma nova instância da classe Freezable.

(Herdado de Freezable)
CreateInstanceCore()

Quando implementado em uma classe derivada, cria uma nova instância da classe derivada Freezable.

(Herdado de Freezable)
Equals(Object)

Determina se um DependencyObject fornecido é equivalente ao DependencyObject atual.

(Herdado de DependencyObject)
FillContains(Geometry)

Indica se a geometria atual contém completamente o Geometry especificado.

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

Indica se a geometria atual contém o Geometry especificado, considerando a margem de erro especificada.

(Herdado de Geometry)
FillContains(Point)

Indica se a geometria contém o Point especificado.

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

Indica se a geometria contém o Point especificado, considerando a margem de erro especificada.

(Herdado de Geometry)
FillContainsWithDetail(Geometry)

Retorna um valor que descreve a interseção entre a geometria atual e a geometria especificada.

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

Retorna um valor que descreve a interseção entre a geometria atual e a geometria especificada, considerando a margem de erro especificada.

(Herdado de Geometry)
Freeze()

Torna o objeto atual não modificável e define sua propriedade IsFrozen para true.

(Herdado de Freezable)
FreezeCore(Boolean)

Faz com que este objeto Animatable não seja modificável ou determina se ele pode se tornar não modificável.

(Herdado de Animatable)
GetAnimationBaseValue(DependencyProperty)

Retorna o valor não animado do DependencyProperty especificado.

(Herdado de Animatable)
GetArea()

Obtém a área da região preenchida do objeto Geometry.

(Herdado de Geometry)
GetArea(Double, ToleranceType)

Obtém a área dessa EllipseGeometry.

GetAsFrozen()

Cria uma cópia congelada o Freezable usando valores de propriedade base (não animadas). Já que a cópia está congelada, quaisquer subobjetos congelados são copiados por referência.

(Herdado de Freezable)
GetAsFrozenCore(Freezable)

Torna a instância um clone congelado do Freezable especificado usando valores de propriedade base (não animados).

(Herdado de Freezable)
GetCurrentValueAsFrozen()

Cria uma cópia congelada do Freezable usando valores de propriedade atuais. Já que a cópia está congelada, quaisquer subobjetos congelados são copiados por referência.

(Herdado de Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Torna a instância atual um clone congelado do Freezable especificado. Se o objeto tiver propriedades de dependência animadas, seus valores animados atuais serão copiados.

(Herdado de Freezable)
GetFlattenedPathGeometry()

Obtém um PathGeometry que é uma aproximação poligonal do objeto Geometry.

(Herdado de Geometry)
GetFlattenedPathGeometry(Double, ToleranceType)

Obtém um PathGeometry, dentro da tolerância especificada, que é uma aproximação poligonal do objeto Geometry.

(Herdado de Geometry)
GetHashCode()

Obtém o código hash para esse DependencyObject.

(Herdado de DependencyObject)
GetLocalValueEnumerator()

Cria um enumerador especializado para determinar quais propriedades de dependência têm valores definidos localmente nessa DependencyObject.

(Herdado de DependencyObject)
GetOutlinedPathGeometry()

Obtém um PathGeometry que é um contorno simplificado da região preenchida da Geometry.

(Herdado de Geometry)
GetOutlinedPathGeometry(Double, ToleranceType)

Obtém um PathGeometry, dentro da tolerância especificada, que é um contorno simplificado da região preenchida da Geometry.

(Herdado de Geometry)
GetRenderBounds(Pen)

Retorna um retângulo alinhado por eixo exatamente grande o suficiente para conter a geometria depois que ela foi contornada com o Pen especificado.

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

Retorna um retângulo alinhado por eixo exatamente grande o suficiente para conter a geometria depois que ela foi contornada com o Pen especificado, considerando o fator de tolerância especificado.

(Herdado de Geometry)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetValue(DependencyProperty)

Retorna o valor efetivo atual de uma propriedade de dependência nessa instância de um DependencyObject.

(Herdado de DependencyObject)
GetWidenedPathGeometry(Pen)

Obtém um PathGeometry que é a forma definida pelo traço na Geometry produzido pela Pen especificada.

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

Obtém um PathGeometry que é a forma definida pelo traço na Geometry produzido pela Pen especificada, considerando o fator de tolerância especificado.

(Herdado de Geometry)
InvalidateProperty(DependencyProperty)

Reavalia o valor efetivo para a propriedade de dependência especificada.

(Herdado de DependencyObject)
IsEmpty()

Determina se este objeto EllipseGeometry está vazio.

MayHaveCurves()

Determina se este objeto EllipseGeometry pode ter em segmentos de curva.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
OnChanged()

Chamado quando o objeto Freezable atual é modificado.

(Herdado de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Garante que os ponteiros de contexto apropriados sejam estabelecidos para um membro de dados DependencyObjectType que foi recém-definido.

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

Esse membro dá suporte à infraestrutura de Windows Presentation Foundation (WPF) e não se destina a ser usado diretamente do seu código.

(Herdado de Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Substitui a implementação DependencyObject de OnPropertyChanged(DependencyPropertyChangedEventArgs) para também invocar quaisquer manipuladores Changed em resposta à alteração de uma propriedade de dependência do tipo Freezable.

(Herdado de Freezable)
ReadLocalValue(DependencyProperty)

Retorna o valor local de uma propriedade de dependência, local, se houver.

(Herdado de DependencyObject)
ReadPreamble()

Garante que o Freezable esteja sendo acessado de um thread válido. Herdeiros do Freezable devem chamar esse método no início de qualquer API que lê membros de dados que não são propriedades de dependência.

(Herdado de Freezable)
SetCurrentValue(DependencyProperty, Object)

Define o valor da propriedade de dependência sem alterar a origem do valor.

(Herdado de DependencyObject)
SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência, especificada pelo identificador da propriedade de dependência.

(Herdado de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Define o valor de uma propriedade de dependência somente leitura, especificada pelo identificador DependencyPropertyKey da propriedade de dependência.

(Herdado de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Retorna um valor que indica se os processos de serialização devem serializar o valor da propriedade de dependência fornecida.

(Herdado de DependencyObject)
ShouldSerializeTransform()

Obtém um valor que indica se o valor da propriedade Transform deve ser serializado.

(Herdado de Geometry)
StrokeContains(Pen, Point)

Determina se o Point especificado está contido no traço produzido aplicando o Pen especificado à geometria.

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

Determina se o Point especificado está contido no traço produzido aplicando o Pen especificado à geometria, considerando a margem de erro especificada.

(Herdado de Geometry)
StrokeContainsWithDetail(Pen, Geometry)

Retorna um valor que descreve a interseção entre a Geometry especificada e o traço criado aplicando-se a Pen especificada à geometria atual.

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

Obtém um valor que descreve a interseção entre a Geometry especificada e o traço criado aplicando-se a Pen especificada à geometria atual, considerando a margem de erro especificada.

(Herdado de Geometry)
ToString()

Cria uma representação de cadeia de caracteres do objeto com base na cultura atual.

(Herdado de Geometry)
ToString(IFormatProvider)

Cria uma representação da cadeia de caracteres do objeto usando as informações de formatação específicas da cultura especificadas.

(Herdado de Geometry)
VerifyAccess()

Impõe que o thread de chamada tenha acesso a este DispatcherObject.

(Herdado de DispatcherObject)
WritePostscript()

Aciona o evento Changed para o Freezable e invoca o respectivo método OnChanged(). Classes que derivam de Freezable devem chamar este método no final de qualquer API que modifica os membros de classe que não são armazenados como propriedades de dependência.

(Herdado de Freezable)
WritePreamble()

Verifica se o Freezable não está congelado e está sendo acessado de um contexto de threading válido. Herdeiros do Freezable devem chamar esse método no início de qualquer API que grava em membros de dados que não são propriedades de dependência.

(Herdado de Freezable)

Eventos

Changed

Ocorre quando o Freezable ou um objeto nele contido é modificado.

(Herdado de Freezable)

Implantações explícitas de interface

IFormattable.ToString(String, IFormatProvider)

Formata o valor da instância atual usando o formato especificado.

(Herdado de Geometry)

Aplica-se a

Confira também