Sdílet prostřednictvím


EllipseGeometry Třída

Definice

Představuje geometrii kruhu nebo tří teček.

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
Dědičnost

Příklady

Následující příklad používá dva EllipseGeometry objekty k definování obsahu objektu GeometryDrawing. Tento příklad vytvoří následující výstup:

GeometryDrawing ze dvou tří teček Dva objekty 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>

Poznámky

EllipseGeometry Pomocí třídy s prvkem nebo prvkem GeometryDrawingPath nakreslete tři tečky nebo s Clip vlastností objektu UIElement k definování eliptické oblasti klipu. Třída EllipseGeometry má také mnoho dalších použití. Další informace o EllipseGeometrygeometrii naleznete v tématu Přehled geometrie.

EllipseGeometry ve srovnání s elipsou

Třída Ellipse má vlastnost Fill, Strokea další vlastnosti vykreslování, které EllipseGeometry chybí. Třída Ellipse je FrameworkElement a proto se účastní systému rozložení. Lze ji použít jako obsah libovolného prvku, který podporuje UIElement podřízené položky.

Třída EllipseGeometry na druhou stranu jednoduše definuje geometrii tří teček a nemůže se vykreslit. Vzhledem k jeho jednoduchosti má širší škálu použití.

Zamrznutelné funkce

Je EllipseGeometry typ objektu Freezable , a proto může být zablokovaný, aby se zlepšil výkon. Informace o Freezable funkcích, jako je zmrazení a klonování, naleznete v tématu Přehled zamrznutelných objektů.

Konstruktory

Name Description
EllipseGeometry()

Inicializuje novou instanci EllipseGeometry třídy.

EllipseGeometry(Point, Double, Double, Transform)

Inicializuje novou instanci EllipseGeometry třídy, která má zadanou pozici, velikost a transformaci.

EllipseGeometry(Point, Double, Double)

Inicializuje novou instanci EllipseGeometry třídy jako tři tečky, která má zadané umístění středu, x poloměr a poloměr y.

EllipseGeometry(Rect)

Inicializuje novou instanci EllipseGeometry třídy, která má vodorovný průměr, který se rovná šířce předané Rect, svislý průměr se rovná délce předaného Rectobjektu a umístění středového bodu se rovná středu předané Rect.

Pole

Name Description
CenterProperty

Identifikuje Center vlastnost závislosti.

RadiusXProperty

Identifikuje RadiusX vlastnost závislosti.

RadiusYProperty

Identifikuje RadiusY vlastnost závislosti.

Vlastnosti

Name Description
Bounds

Rect Získá, který představuje ohraničující rámeček tohoto EllipseGeometry. Tato metoda nebere v úvahu nadbytečnou oblast, která by se potenciálně přidala tahem.

CanFreeze

Získá hodnotu, která označuje, zda objekt lze vytvořit nemodifovatelný.

(Zděděno od Freezable)
Center

Získá nebo nastaví středový EllipseGeometrybod .

DependencyObjectType

DependencyObjectType Získá ten, který zabalí typ CLR této instance.

(Zděděno od DependencyObject)
Dispatcher

Dispatcher Získá toto DispatcherObject je přidružené.

(Zděděno od DispatcherObject)
HasAnimatedProperties

Získá hodnotu, která určuje, zda jeden nebo více AnimationClock objektů je přidružen k některé z vlastností závislosti tohoto objektu.

(Zděděno od Animatable)
IsFrozen

Získá hodnotu, která označuje, zda objekt je aktuálně upravitelný.

(Zděděno od Freezable)
IsSealed

Získá hodnotu, která označuje, zda je tato instance aktuálně zapečetěna (jen pro čtení).

(Zděděno od DependencyObject)
RadiusX

Získá nebo nastaví hodnotu x poloměru EllipseGeometry.

RadiusY

Získá nebo nastaví hodnotu poloměru EllipseGeometryy .

Transform

Získá nebo nastaví Transform objekt použitý na objekt .Geometry

(Zděděno od Geometry)

Metody

Name Description
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Použije pro AnimationClock zadaný DependencyPropertyparametr . Pokud je vlastnost již animovaná, použije se zadané HandoffBehavior .

(Zděděno od Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock)

Použije pro AnimationClock zadaný DependencyPropertyparametr . Pokud je vlastnost již animované, použije se SnapshotAndReplace chování předání.

(Zděděno od Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Použije animaci na zadanou DependencyPropertypoložku . Animace se spustí při vykreslení dalšího snímku. Pokud je zadaná vlastnost již animované, použije se zadaná HandoffBehavior vlastnost.

(Zděděno od Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Použije animaci na zadanou DependencyPropertypoložku . Animace se spustí při vykreslení dalšího snímku. Pokud je zadaná vlastnost již animované, použije se SnapshotAndReplace chování předání.

(Zděděno od Animatable)
CheckAccess()

Určuje, zda volající vlákno má přístup k tomuto DispatcherObject.

(Zděděno od DispatcherObject)
ClearValue(DependencyProperty)

Vymaže místní hodnotu vlastnosti. Vlastnost, která se má vymazat, je určena identifikátorem DependencyProperty .

(Zděděno od DependencyObject)
ClearValue(DependencyPropertyKey)

Vymaže místní hodnotu vlastnosti jen pro čtení. Vlastnost, která má být vymazána, je určena parametrem DependencyPropertyKey.

(Zděděno od DependencyObject)
Clone()

Vytvoří upravitelný klon tohoto EllipseGeometryobjektu a vytvoří hluboké kopie hodnot tohoto objektu. Při kopírování vlastností závislostí tato metoda kopíruje odkazy na prostředky a datové vazby (ale nemusí se už překládat), ale ne animace nebo jejich aktuální hodnoty.

CloneCore(Freezable)

Vytvoří instanci klonem (hloubkovou kopií) zadaného Freezable pomocí základních (ne animovaných) hodnot vlastností.

(Zděděno od Freezable)
CloneCurrentValue()

Vytvoří upravitelný klon tohoto EllipseGeometry objektu a vytvoří hluboké kopie aktuálních hodnot tohoto objektu. Odkazy na prostředky, datové vazby a animace se nekopírují, ale jejich aktuální hodnoty jsou.

CloneCurrentValueCore(Freezable)

Vytvoří instanci upravitelný klon (hloubkovou kopii) zadaného Freezable pomocí aktuálních hodnot vlastností.

(Zděděno od Freezable)
CoerceValue(DependencyProperty)

Převede hodnotu zadané vlastnosti závislosti. Toho se dosahuje vyvoláním jakékoli CoerceValueCallback funkce zadané v metadatech vlastností pro vlastnost závislosti, protože existuje ve volání DependencyObject.

(Zděděno od DependencyObject)
CreateInstance()

Inicializuje novou instanci Freezable třídy.

(Zděděno od Freezable)
CreateInstanceCore()

Při implementaci v odvozené třídě vytvoří novou instanci odvozené Freezable třídy.

(Zděděno od Freezable)
Equals(Object)

Určuje, zda je poskytnutá DependencyObject hodnota ekvivalentní aktuálnímu DependencyObject.

(Zděděno od DependencyObject)
FillContains(Geometry, Double, ToleranceType)

Určuje, zda aktuální geometrie obsahuje zadanou Geometrygeometrii vzhledem k zadanému okraji chyby.

(Zděděno od Geometry)
FillContains(Geometry)

Určuje, zda aktuální geometrie zcela obsahuje zadané Geometry.

(Zděděno od Geometry)
FillContains(Point, Double, ToleranceType)

Určuje, zda geometrie obsahuje zadanou Pointhodnotu vzhledem k zadanému okraji chyby.

(Zděděno od Geometry)
FillContains(Point)

Určuje, zda geometrie obsahuje zadanou Pointhodnotu .

(Zděděno od Geometry)
FillContainsWithDetail(Geometry, Double, ToleranceType)

Vrátí hodnotu, která popisuje průnik mezi aktuální geometrií a zadanou geometrií vzhledem k zadanému okraji chyby.

(Zděděno od Geometry)
FillContainsWithDetail(Geometry)

Vrátí hodnotu, která popisuje průnik mezi aktuální geometrií a zadanou geometrií.

(Zděděno od Geometry)
Freeze()

Nastaví aktuální objekt jako nemodifikovatelný a nastaví jeho IsFrozen vlastnost na true.

(Zděděno od Freezable)
FreezeCore(Boolean)

Znepřístupňuje tento Animatable objekt nebo určuje, zda jej lze upravit.

(Zděděno od Animatable)
GetAnimationBaseValue(DependencyProperty)

Vrátí ne animovanou hodnotu zadané DependencyPropertyhodnoty .

(Zděděno od Animatable)
GetArea()

Získá oblast vyplněné oblasti objektu Geometry .

(Zděděno od Geometry)
GetArea(Double, ToleranceType)

Získá oblast tohoto EllipseGeometry.

GetAsFrozen()

Vytvoří zablokovanou kopii Freezablevlastnosti , pomocí základních (ne animovaných) hodnot vlastností. Vzhledem k tomu, že je kopie zablokovaná, všechny ukotvené dílčí objekty se zkopírují odkazem.

(Zděděno od Freezable)
GetAsFrozenCore(Freezable)

Vytvoří instanci ukotveným klonem zadaného Freezable pomocí základních (ne animovaných) hodnot vlastností.

(Zděděno od Freezable)
GetCurrentValueAsFrozen()

Vytvoří ukotvenou kopii s použitím aktuálních Freezable hodnot vlastností. Vzhledem k tomu, že je kopie zablokovaná, všechny ukotvené dílčí objekty se zkopírují odkazem.

(Zděděno od Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Vytvoří aktuální instanci zmrazený klon zadaného Freezable. Pokud má objekt animované vlastnosti závislostí, jejich aktuální animované hodnoty se zkopírují.

(Zděděno od Freezable)
GetFlattenedPathGeometry()

PathGeometry Získá, že je polygonální aproximace objektuGeometry.

(Zděděno od Geometry)
GetFlattenedPathGeometry(Double, ToleranceType)

PathGeometryZíská , v rámci zadané tolerance, to je mnohoúhelníkové aproximace objektuGeometry.

(Zděděno od Geometry)
GetHashCode()

Získá hash kód pro tento DependencyObject.

(Zděděno od DependencyObject)
GetLocalValueEnumerator()

Vytvoří specializovaný enumerátor pro určení, které vlastnosti závislosti mají místně nastavené hodnoty na tomto DependencyObject.

(Zděděno od DependencyObject)
GetOutlinedPathGeometry()

PathGeometry Získá zjednodušenou osnovu vyplněné oblasti Geometry.

(Zděděno od Geometry)
GetOutlinedPathGeometry(Double, ToleranceType)

PathGeometryZíská , v rámci zadané tolerance, který je zjednodušený obrys vyplněné oblasti Geometry.

(Zděděno od Geometry)
GetRenderBounds(Pen, Double, ToleranceType)

Vrátí obdélník zarovnaný osou, který je přesně dostatečně velký tak, aby obsahoval geometrii po jeho obrysu se zadaným Penfaktorem tolerance.

(Zděděno od Geometry)
GetRenderBounds(Pen)

Vrátí obdélník zarovnaný osou, který je přesně dostatečně velký tak, aby obsahoval geometrii po jeho obrysu se zadaným Penobjektem .

(Zděděno od Geometry)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
GetValue(DependencyProperty)

Vrátí aktuální efektivní hodnotu vlastnosti závislosti na této instanci objektu DependencyObject.

(Zděděno od DependencyObject)
GetWidenedPathGeometry(Pen, Double, ToleranceType)

PathGeometry Získá, že je obrazec definovaný tahem na Geometry produkovaném Penzadaným , vzhledem k zadanému faktoru tolerance.

(Zděděno od Geometry)
GetWidenedPathGeometry(Pen)

PathGeometry Získá, že je obrazec definovaný tahem na Geometry vytvořeném zadaným Pen.

(Zděděno od Geometry)
InvalidateProperty(DependencyProperty)

Znovu vyhodnotí efektivní hodnotu pro zadanou vlastnost závislosti.

(Zděděno od DependencyObject)
IsEmpty()

Určuje, zda je tento EllipseGeometry objekt prázdný.

MayHaveCurves()

Určuje, zda může mít tento EllipseGeometry objekt zakřivené segmenty.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
OnChanged()

Volá se při změně aktuálního Freezable objektu.

(Zděděno od Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Tento člen podporuje infrastrukturu Windows Presentation Foundation (WPF) a není určená k použití přímo z vašeho kódu.

(Zděděno od Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Zajišťuje, aby byly pro datový člen, který byl právě nastaven, vytvořeny DependencyObjectType příslušné kontextové ukazatele.

(Zděděno od Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Přepíše implementaci DependencyObjectOnPropertyChanged(DependencyPropertyChangedEventArgs) také vyvolat všechny Changed obslužné rutiny v reakci na měnící se závislost vlastnost typu Freezable.

(Zděděno od Freezable)
ReadLocalValue(DependencyProperty)

Vrátí místní hodnotu vlastnosti závislosti, pokud existuje.

(Zděděno od DependencyObject)
ReadPreamble()

Zajišťuje, že se k němu Freezable přistupuje z platného vlákna. Dědiče Freezable této metody musí volat tuto metodu na začátku jakéhokoli rozhraní API, které čte datové členy, které nejsou vlastnostmi závislosti.

(Zděděno od Freezable)
SetCurrentValue(DependencyProperty, Object)

Nastaví hodnotu vlastnosti závislosti beze změny jejího zdroje hodnot.

(Zděděno od DependencyObject)
SetValue(DependencyProperty, Object)

Nastaví místní hodnotu vlastnosti závislosti určenou jeho identifikátorem vlastnosti závislosti.

(Zděděno od DependencyObject)
SetValue(DependencyPropertyKey, Object)

Nastaví místní hodnotu vlastnosti závislosti jen pro čtení určenou identifikátorem DependencyPropertyKey vlastnosti závislosti.

(Zděděno od DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Vrátí hodnotu, která určuje, zda procesy serializace mají serializovat hodnotu pro zadanou vlastnost závislosti.

(Zděděno od DependencyObject)
ShouldSerializeTransform()

Získá hodnotu, která určuje, zda hodnota Transform vlastnosti má být serializována.

(Zděděno od Geometry)
StrokeContains(Pen, Point, Double, ToleranceType)

Určuje, zda je zadaná Point hodnota obsažena v tahu vytvořeném použitím zadané Pen geometrie vzhledem k zadanému okraji chyby.

(Zděděno od Geometry)
StrokeContains(Pen, Point)

Určuje, zda je zadaná Point hodnota obsažena v tahu vytvořeném použitím zadané Pen geometrie.

(Zděděno od Geometry)
StrokeContainsWithDetail(Pen, Geometry, Double, ToleranceType)

Získá hodnotu, která popisuje průnik mezi zadaným Geometry a tahem vytvořeným použitím zadané Pen geometrie na aktuální geometrii vzhledem k zadanému okraji chyby.

(Zděděno od Geometry)
StrokeContainsWithDetail(Pen, Geometry)

Vrátí hodnotu, která popisuje průnik mezi zadaným Geometry a tahem vytvořeným použitím zadané Pen geometrie.

(Zděděno od Geometry)
ToString()

Vytvoří řetězcovou reprezentaci objektu na základě aktuální jazykové verze.

(Zděděno od Geometry)
ToString(IFormatProvider)

Vytvoří řetězcovou reprezentaci objektu pomocí zadaných informací o formátování specifické pro jazykovou verzi.

(Zděděno od Geometry)
VerifyAccess()

Vynucuje, že volající vlákno má přístup k tomuto DispatcherObject.

(Zděděno od DispatcherObject)
WritePostscript()

Changed Vyvolá událost pro událost Freezable a vyvolá její OnChanged() metodu. Třídy odvozené z Freezable by měly volat tuto metodu na konci jakéhokoli rozhraní API, které upravuje členy třídy, které nejsou uloženy jako vlastnosti závislosti.

(Zděděno od Freezable)
WritePreamble()

Ověřuje, že Freezable není zablokovaný a že k němu přistupujete z platného kontextu podprocesu. Freezable dědiče by měly tuto metodu volat na začátku jakéhokoli rozhraní API, které zapisuje do datových členů, které nejsou vlastnostmi závislosti.

(Zděděno od Freezable)

Událost

Name Description
Changed

Nastane, když Freezable je objekt, který obsahuje, změněn.

(Zděděno od Freezable)

Explicitní implementace rozhraní

Name Description
IFormattable.ToString(String, IFormatProvider)

Naformátuje hodnotu aktuální instance pomocí zadaného formátu.

(Zděděno od Geometry)

Platí pro

Viz také