EllipseGeometry Klass

Definition

Representerar geometrin för en cirkel eller ellips.

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
Arv

Exempel

I följande exempel används två EllipseGeometry objekt för att definiera innehållet i en GeometryDrawing. Det här exemplet genererar följande utdata:

En geometriDrawing av två ellipser Två EllipseGeometry-objekt

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>

Kommentarer

EllipseGeometry Använd klassen med ett Path element eller ett GeometryDrawing för att rita en ellips, eller med Clip egenskapen för en UIElement för att definiera en elliptisk klippregion. Klassen EllipseGeometry har också många andra användningsområden. Mer information om EllipseGeometryfinns i Geometriöversikt.

EllipseGeometry jämfört med Ellips

Klassen Ellipse har en Fill, Strokeoch andra återgivningsegenskaper som EllipseGeometry saknar. Klassen är en Ellipse och deltar därför i layoutsystemet. Den FrameworkElement kan användas som innehåll för alla element som stöder UIElement underordnade element.

Klassen EllipseGeometry å andra sidan definierar helt enkelt geometrin för en ellips och kan inte återge sig själv. På grund av sin enkelhet har den ett bredare utbud av användningsområden.

Freezable-funktioner

En EllipseGeometry är en typ av Freezable objekt och kan därför frysas för att förbättra prestandan. Information om Freezable funktioner, till exempel frysning och kloning, finns i Översikt över friserbara objekt.

Konstruktorer

Name Description
EllipseGeometry()

Initierar en ny instans av EllipseGeometry klassen.

EllipseGeometry(Point, Double, Double, Transform)

Initierar en ny instans av EllipseGeometry klassen som har den angivna positionen, storleken och omvandlingen.

EllipseGeometry(Point, Double, Double)

Initierar en ny instans av EllipseGeometry klassen som en ellips som har en angiven mittplats, x radie och y-radie.

EllipseGeometry(Rect)

Initierar en ny instans av EllipseGeometry klassen som har en vågrät diameter som är lika med bredden på den passerade Rect, en lodrät diameter som är lika med längden på den skickade Rectoch en mittpunktsplats som är lika med mitten av den skickade Rect.

Fält

Name Description
CenterProperty

Identifierar beroendeegenskapen Center .

RadiusXProperty

Identifierar beroendeegenskapen RadiusX .

RadiusYProperty

Identifierar beroendeegenskapen RadiusY .

Egenskaper

Name Description
Bounds

Hämtar en Rect som representerar avgränsningsrutan för den här EllipseGeometry. Den här metoden tar inte hänsyn till det extra område som eventuellt läggs till av en stroke.

CanFreeze

Hämtar ett värde som anger om objektet kan göras ommodifierbart.

(Ärvd från Freezable)
Center

Hämtar eller anger mittpunkten för EllipseGeometry.

DependencyObjectType

DependencyObjectType Hämtar som omsluter CLR-typen för den här instansen.

(Ärvd från DependencyObject)
Dispatcher

Hämtar det Dispatcher som DispatcherObject är associerat med.

(Ärvd från DispatcherObject)
HasAnimatedProperties

Hämtar ett värde som anger om ett eller flera AnimationClock objekt är associerade med något av det här objektets beroendeegenskaper.

(Ärvd från Animatable)
IsFrozen

Hämtar ett värde som anger om objektet för närvarande kan ändras.

(Ärvd från Freezable)
IsSealed

Hämtar ett värde som anger om den här instansen för närvarande är förseglad (skrivskyddad).

(Ärvd från DependencyObject)
RadiusX

Hämtar eller anger x-radius-värdet för EllipseGeometry.

RadiusY

Hämtar eller anger y-radius-värdet för EllipseGeometry.

Transform

Hämtar eller anger objektet Transform som tillämpas på en Geometry.

(Ärvd från Geometry)

Metoder

Name Description
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Tillämpar en AnimationClock på den angivna DependencyProperty. Om egenskapen redan är animerad används den angivna HandoffBehavior .

(Ärvd från Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock)

Tillämpar en AnimationClock på den angivna DependencyProperty. Om egenskapen redan är animerad används överlämningsbeteendet SnapshotAndReplace .

(Ärvd från Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Tillämpar en animering på den angivna DependencyProperty. Animeringen startas när nästa bildruta återges. Om den angivna egenskapen redan är animerad används den angivna HandoffBehavior egenskapen.

(Ärvd från Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Tillämpar en animering på den angivna DependencyProperty. Animeringen startas när nästa bildruta återges. Om den angivna egenskapen redan är animerad används överlämningsbeteendet SnapshotAndReplace .

(Ärvd från Animatable)
CheckAccess()

Avgör om den anropande tråden har åtkomst till den här DispatcherObject.

(Ärvd från DispatcherObject)
ClearValue(DependencyProperty)

Rensar det lokala värdet för en egenskap. Egenskapen som ska rensas anges av en DependencyProperty identifierare.

(Ärvd från DependencyObject)
ClearValue(DependencyPropertyKey)

Rensar det lokala värdet för en skrivskyddad egenskap. Egenskapen som ska rensas anges av en DependencyPropertyKey.

(Ärvd från DependencyObject)
Clone()

Skapar en modifierbar klon av detta EllipseGeometryoch gör djupa kopior av objektets värden. När du kopierar beroendeegenskaper kopierar den här metoden resursreferenser och databindningar (men de kanske inte längre matchar) men inte animeringar eller deras aktuella värden.

CloneCore(Freezable)

Gör instansen till en klon (djupkopia) av de angivna Freezable med hjälp av grundläggande (icke-animerade) egenskapsvärden.

(Ärvd från Freezable)
CloneCurrentValue()

Skapar en modifierbar klon av det här EllipseGeometry objektet, vilket gör djupa kopior av objektets aktuella värden. Resursreferenser, databindningar och animeringar kopieras inte, men deras aktuella värden är det.

CloneCurrentValueCore(Freezable)

Gör instansen till en modifierbar klon (djupkopia) av den angivna Freezable med hjälp av aktuella egenskapsvärden.

(Ärvd från Freezable)
CoerceValue(DependencyProperty)

Tvingar fram värdet för den angivna beroendeegenskapen. Detta uppnås genom att anropa alla CoerceValueCallback funktioner som anges i egenskapsmetadata för beroendeegenskapen eftersom den finns på anropet DependencyObject.

(Ärvd från DependencyObject)
CreateInstance()

Initierar en ny instans av Freezable klassen.

(Ärvd från Freezable)
CreateInstanceCore()

När den implementeras i en härledd klass skapar du en ny instans av den Freezable härledda klassen.

(Ärvd från Freezable)
Equals(Object)

Avgör om en angivet DependencyObject motsvarar den aktuella DependencyObject.

(Ärvd från DependencyObject)
FillContains(Geometry, Double, ToleranceType)

Anger om den aktuella geometrin innehåller den angivna Geometry, med tanke på den angivna felmarginalen.

(Ärvd från Geometry)
FillContains(Geometry)

Anger om den aktuella geometrin helt innehåller den angivna Geometry.

(Ärvd från Geometry)
FillContains(Point, Double, ToleranceType)

Anger om geometrin innehåller den angivna Point, med tanke på den angivna felmarginalen.

(Ärvd från Geometry)
FillContains(Point)

Anger om geometrin innehåller den angivna Point.

(Ärvd från Geometry)
FillContainsWithDetail(Geometry, Double, ToleranceType)

Returnerar ett värde som beskriver skärningspunkten mellan den aktuella geometrin och den angivna geometrin, givet den angivna felmarginalen.

(Ärvd från Geometry)
FillContainsWithDetail(Geometry)

Returnerar ett värde som beskriver skärningspunkten mellan den aktuella geometrin och den angivna geometrin.

(Ärvd från Geometry)
Freeze()

Gör det aktuella objektet ommodifierbart och anger dess IsFrozen egenskap till true.

(Ärvd från Freezable)
FreezeCore(Boolean)

Gör det här Animatable objektet ommodifierbart eller avgör om det kan göras ommodifierbart.

(Ärvd från Animatable)
GetAnimationBaseValue(DependencyProperty)

Returnerar det icke-animerade värdet för det angivna DependencyProperty.

(Ärvd från Animatable)
GetArea()

Hämtar området för objektets Geometry fyllda region.

(Ärvd från Geometry)
GetArea(Double, ToleranceType)

Hämtar området för den här EllipseGeometry.

GetAsFrozen()

Skapar en frusen Freezablekopia av , med hjälp av grundläggande (icke-animerade) egenskapsvärden. Eftersom kopian är låst kopieras alla frysta underobjekt som referens.

(Ärvd från Freezable)
GetAsFrozenCore(Freezable)

Gör instansen till en frusen klon av den angivna Freezable med hjälp av grundläggande (icke-animerade) egenskapsvärden.

(Ärvd från Freezable)
GetCurrentValueAsFrozen()

Skapar en frusen Freezable kopia av med aktuella egenskapsvärden. Eftersom kopian är låst kopieras alla frysta underobjekt som referens.

(Ärvd från Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Gör den aktuella instansen till en frusen klon av den angivna Freezable. Om objektet har animerade beroendeegenskaper kopieras deras aktuella animerade värden.

(Ärvd från Freezable)
GetFlattenedPathGeometry()

Hämtar en PathGeometry som är en polygonal uppskattning av Geometry objektet.

(Ärvd från Geometry)
GetFlattenedPathGeometry(Double, ToleranceType)

Hämtar en PathGeometry, inom den angivna toleransen, som är en polygonal uppskattning av Geometry objektet.

(Ärvd från Geometry)
GetHashCode()

Hämtar en hash-kod för den här DependencyObject.

(Ärvd från DependencyObject)
GetLocalValueEnumerator()

Skapar en specialiserad uppräknare för att avgöra vilka beroendeegenskaper som har lokalt angivna värden för den här DependencyObject.

(Ärvd från DependencyObject)
GetOutlinedPathGeometry()

Hämtar en PathGeometry som är en förenklad disposition av den fyllda regionen i Geometry.

(Ärvd från Geometry)
GetOutlinedPathGeometry(Double, ToleranceType)

Hämtar en PathGeometry, inom den angivna toleransen, som är en förenklad disposition av den fyllda regionen i Geometry.

(Ärvd från Geometry)
GetRenderBounds(Pen, Double, ToleranceType)

Returnerar en axeljusterad rektangel som är exakt tillräckligt stor för att innehålla geometrin efter att den har beskrivits med angiven Pen, givet den angivna toleransfaktorn.

(Ärvd från Geometry)
GetRenderBounds(Pen)

Returnerar en axeljusterad rektangel som är exakt tillräckligt stor för att innehålla geometrin efter att den har beskrivits med angiven Pen.

(Ärvd från Geometry)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
GetValue(DependencyProperty)

Returnerar det aktuella effektiva värdet för en beroendeegenskap för den här instansen av en DependencyObject.

(Ärvd från DependencyObject)
GetWidenedPathGeometry(Pen, Double, ToleranceType)

Hämtar en PathGeometry form som definieras av strecket på den Geometry som skapas av den angivna Pen, givet den angivna toleransfaktorn.

(Ärvd från Geometry)
GetWidenedPathGeometry(Pen)

Hämtar en PathGeometry form som definieras av strecket på den Geometry som skapas av den angivna Pen.

(Ärvd från Geometry)
InvalidateProperty(DependencyProperty)

Utvärderar det effektiva värdet för den angivna beroendeegenskapen igen.

(Ärvd från DependencyObject)
IsEmpty()

Avgör om det här EllipseGeometry objektet är tomt.

MayHaveCurves()

Avgör om det här EllipseGeometry objektet kan ha böjda segment.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
OnChanged()

Anropas när det aktuella Freezable objektet ändras.

(Ärvd från Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Den här medlemmen stöder infrastrukturen för Windows Presentation Foundation (WPF) och är inte avsedd att användas direkt från koden.

(Ärvd från Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Ser till att lämpliga kontextpekare upprättas för en DependencyObjectType datamedlem som just har angetts.

(Ärvd från Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Åsidosätter implementeringen DependencyObject av OnPropertyChanged(DependencyPropertyChangedEventArgs) för att även anropa alla Changed hanterare som svar på en ändrad beroendeegenskap av typen Freezable.

(Ärvd från Freezable)
ReadLocalValue(DependencyProperty)

Returnerar det lokala värdet för en beroendeegenskap, om den finns.

(Ärvd från DependencyObject)
ReadPreamble()

Säkerställer att åtkomsten Freezable görs från en giltig tråd. Arvtagare Freezable till måste anropa den här metoden i början av ett API som läser datamedlemmar som inte är beroendeegenskaper.

(Ärvd från Freezable)
SetCurrentValue(DependencyProperty, Object)

Anger värdet för en beroendeegenskap utan att ändra dess värdekälla.

(Ärvd från DependencyObject)
SetValue(DependencyProperty, Object)

Anger det lokala värdet för en beroendeegenskap som anges av dess beroendeegenskapsidentifierare.

(Ärvd från DependencyObject)
SetValue(DependencyPropertyKey, Object)

Anger det lokala värdet för en skrivskyddad beroendeegenskap som anges av identifieraren DependencyPropertyKey för beroendeegenskapen.

(Ärvd från DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Returnerar ett värde som anger om serialiseringsprocesser ska serialisera värdet för den angivna beroendeegenskapen.

(Ärvd från DependencyObject)
ShouldSerializeTransform()

Hämtar ett värde som anger om värdet för Transform egenskapen ska serialiseras.

(Ärvd från Geometry)
StrokeContains(Pen, Point, Double, ToleranceType)

Avgör om den angivna Point finns i den linje som skapas genom att tillämpa den angivna Pen på geometrin, med tanke på den angivna felmarginalen.

(Ärvd från Geometry)
StrokeContains(Pen, Point)

Avgör om den angivna Point finns i den linje som skapas genom att tillämpa den angivna Pen på geometrin.

(Ärvd från Geometry)
StrokeContainsWithDetail(Pen, Geometry, Double, ToleranceType)

Hämtar ett värde som beskriver skärningspunkten mellan den angivna Geometry och den linje som skapas genom att tillämpa den angivna Pen på den aktuella geometrin, med tanke på den angivna felmarginalen.

(Ärvd från Geometry)
StrokeContainsWithDetail(Pen, Geometry)

Returnerar ett värde som beskriver skärningspunkten mellan den angivna Geometry och den linje som skapas genom att tillämpa den angivna på Pen den aktuella geometrin.

(Ärvd från Geometry)
ToString()

Skapar en strängrepresentation av objektet baserat på den aktuella kulturen.

(Ärvd från Geometry)
ToString(IFormatProvider)

Skapar en strängrepresentation av objektet med den angivna kulturspecifika formateringsinformationen.

(Ärvd från Geometry)
VerifyAccess()

Framtvingar att den anropande tråden har åtkomst till den här DispatcherObject.

(Ärvd från DispatcherObject)
WritePostscript()

Genererar Changed händelsen för Freezable och anropar dess OnChanged() metod. Klasser som härleds från Freezable bör anropa den här metoden i slutet av alla API:er som ändrar klassmedlemmar som inte lagras som beroendeegenskaper.

(Ärvd från Freezable)
WritePreamble()

Verifierar att Freezable inte är låst och att den nås från en giltig trådkontext. Freezable ärver bör anropa den här metoden i början av ett API som skriver till datamedlemmar som inte är beroendeegenskaper.

(Ärvd från Freezable)

Händelser

Name Description
Changed

Inträffar när eller Freezable ett objekt som det innehåller ändras.

(Ärvd från Freezable)

Explicita gränssnittsimplementeringar

Name Description
IFormattable.ToString(String, IFormatProvider)

Formaterar värdet för den aktuella instansen med det angivna formatet.

(Ärvd från Geometry)

Gäller för

Se även