EllipseGeometry クラス

定義

円または楕円のジオメトリを表します。

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
継承

次の例では、2 つの EllipseGeometry オブジェクトを使用して の内容を GeometryDrawing定義します。 この例を実行すると、次の出力が生成されます。

2 つの楕円の GeometryDrawing 2
2 つの 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>

注釈

クラスをEllipseGeometry要素または a GeometryDrawing と共Pathに使用して楕円を描画するか、 の プロパティUIElementClip使用して楕円クリップ領域を定義します。 クラスには EllipseGeometry 、他にも多くの用途があります。 の詳細については EllipseGeometry、「 Geometry Overview」を参照してください。

EllipseGeometry と楕円の比較

Ellipseクラスには、およびその他のFillStrokeレンダリング プロパティがありませんEllipseGeometry。 クラスは Ellipse であるため FrameworkElement 、レイアウト システムに参加します。これは、子をサポート UIElement する任意の要素のコンテンツとして使用できます。

一方、 クラスは EllipseGeometry 単に楕円のジオメトリを定義し、それ自体をレンダリングすることはできません。 そのシンプルさのために、それは用途の広い範囲を持っています。

Freezable 機能

EllipseGeometryはオブジェクトのFreezable一種であるため、パフォーマンスを向上させるために固定できます。 フリーズや複製などの機能の詳細 Freezable については、「 Freezable オブジェクトの概要」を参照してください。

コンストラクター

EllipseGeometry()

EllipseGeometry クラスの新しいインスタンスを初期化します。

EllipseGeometry(Point, Double, Double)

指定した中心位置、x 半径、および y 半径を持つ楕円として EllipseGeometry クラスの新しいインスタンスを初期化します。

EllipseGeometry(Point, Double, Double, Transform)

指定した位置、サイズ、および変換を持つ EllipseGeometry クラスの新しいインスタンスを初期化します。

EllipseGeometry(Rect)

渡された EllipseGeometry の幅と同じ横直径、渡された Rect の長さと同じ縦直径、および渡された Rect の中心と同じ中心点の位置を持つ Rect クラスの新しいインスタンスを初期化します。

フィールド

CenterProperty

Center 依存関係プロパティを識別します。

RadiusXProperty

RadiusX 依存関係プロパティを識別します。

RadiusYProperty

RadiusY 依存関係プロパティを識別します。

プロパティ

Bounds

この Rect の境界ボックスを表す EllipseGeometry を取得します。 このメソッドでは、ストロークによって追加される可能性がある余分な領域は考慮されません。

CanFreeze

オブジェクトを変更不可能にできるかどうかを示す値を取得します。

(継承元 Freezable)
Center

EllipseGeometry の中心点を取得または設定します。

DependencyObjectType

このインスタンスの DependencyObjectType CLR 型をラップする を取得します。

(継承元 DependencyObject)
Dispatcher

この Dispatcher が関連付けられている DispatcherObject を取得します。

(継承元 DispatcherObject)
HasAnimatedProperties

1 つ以上の AnimationClock オブジェクトが、このオブジェクトの任意の依存関係プロパティに関連付けられているかどうかを示す値を取得または設定します。

(継承元 Animatable)
IsFrozen

オブジェクトが変更可能かどうかを示す値を取得します。

(継承元 Freezable)
IsSealed

このインスタンスが現在シールされている (読み取り専用である) かどうかを示す値を取得します。

(継承元 DependencyObject)
RadiusX

EllipseGeometry の x 半径の値を取得または設定します。

RadiusY

EllipseGeometry の y 半径の値を取得または設定します。

Transform

Transform に適用された Geometry オブジェクトを取得または設定します。

(継承元 Geometry)

メソッド

ApplyAnimationClock(DependencyProperty, AnimationClock)

AnimationClock を指定した DependencyProperty に適用します。 プロパティが既にアニメーション化されている場合は、SnapshotAndReplace ハンドオフ動作が使用されます。

(継承元 Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

AnimationClock を指定した DependencyProperty に適用します。 プロパティが既にアニメーション化されている場合は、指定した HandoffBehavior が使用されます。

(継承元 Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

指定された DependencyProperty にアニメーションを適用します。 アニメーションは、次のフレームがレンダリングされるときに開始されます。 指定されたプロパティが既にアニメーション化されている場合は、SnapshotAndReplace ハンドオフ動作が使用されます。

(継承元 Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

指定された DependencyProperty にアニメーションを適用します。 アニメーションは、次のフレームがレンダリングされるときに開始されます。 指定したプロパティが既にアニメーション化されている場合は、指定した HandoffBehavior が使用されます。

(継承元 Animatable)
CheckAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。

(継承元 DispatcherObject)
ClearValue(DependencyProperty)

プロパティのローカル値をクリアします。 クリアするプロパティは DependencyProperty 識別子で指定されます。

(継承元 DependencyObject)
ClearValue(DependencyPropertyKey)

読み取り専用プロパティのローカル値を消去します。 消去するプロパティは、DependencyPropertyKey で指定します。

(継承元 DependencyObject)
Clone()

この EllipseGeometry の変更可能な複製を作成し、このオブジェクトの値の詳細コピーを作成します。 このメソッドは、依存関係プロパティをコピーするときにリソース参照とデータ バインディングをコピーしますが (ただし、これらは解決されなくなる場合があります)、アニメーションやその現在の値はコピーしません。

CloneCore(Freezable)

基本 (アニメーション化されていない) プロパティ値を使用して、インスタンスを、指定した Freezable の複製 (詳細コピー) にします。

(継承元 Freezable)
CloneCurrentValue()

この EllipseGeometry オブジェクトの変更可能な複製を作成し、このオブジェクトの現在値の詳細コピーを作成します。 リソース参照、データ バインディング、アニメーションはコピーされませんが、それらの現在値はコピーされます。

CloneCurrentValueCore(Freezable)

現在のプロパティ値を使用して、インスタンスを、指定した Freezable の変更可能な複製 (詳細コピー) にします。

(継承元 Freezable)
CoerceValue(DependencyProperty)

指定した依存関係プロパティの値を強制します。 これは、呼び出し元の DependencyObject の依存関係プロパティのプロパティ メタデータで指定されている CoerceValueCallback 関数を呼び出すことによって実現されます。

(継承元 DependencyObject)
CreateInstance()

Freezable クラスの新しいインスタンスを初期化します。

(継承元 Freezable)
CreateInstanceCore()

派生クラスで実装された場合、Freezable 派生クラスの新しいインスタンスを作成します。

(継承元 Freezable)
Equals(Object)

指定した DependencyObject が現在の DependencyObject と等しいかどうかを判断します。

(継承元 DependencyObject)
FillContains(Geometry)

現在のジオメトリに指定した Geometry が完全に含まれているかどうかを示します。

(継承元 Geometry)
FillContains(Geometry, Double, ToleranceType)

指定した許容誤差を前提として、現在のジオメトリに指定した Geometry が含まれているかどうかを示します。

(継承元 Geometry)
FillContains(Point)

ジオメトリに指定した Point が含まれているかどうかを示します。

(継承元 Geometry)
FillContains(Point, Double, ToleranceType)

指定した許容誤差を前提として、ジオメトリに指定した Point が含まれているかどうかを示します。

(継承元 Geometry)
FillContainsWithDetail(Geometry)

現在のジオメトリと指定したジオメトリの交差部分を記述する値を返します。

(継承元 Geometry)
FillContainsWithDetail(Geometry, Double, ToleranceType)

指定した許容誤差を前提として、現在のジオメトリと指定したジオメトリの交差部分を記述する値を返します。

(継承元 Geometry)
Freeze()

現在のオブジェクトを変更不可能にし、その IsFrozen プロパティを true に設定します。

(継承元 Freezable)
FreezeCore(Boolean)

Animatable オブジェクトを変更不可能な状態にするか、変更不可能な状態にできるかどうかを判断します。

(継承元 Animatable)
GetAnimationBaseValue(DependencyProperty)

指定した DependencyProperty のアニメーション化されていない値を返します。

(継承元 Animatable)
GetArea()

Geometry オブジェクトの塗りつぶされた領域を取得します。

(継承元 Geometry)
GetArea(Double, ToleranceType)

この EllipseGeometry の領域を取得します。

GetAsFrozen()

基本プロパティ値 (アニメーション化されていない値) を使用して、Freezable の 固定されたコピーを作成します。 コピーが固定されているため、参照によって任意の固定されたサブオブジェクトがコピーされます。

(継承元 Freezable)
GetAsFrozenCore(Freezable)

基本プロパティ値 (アニメーション化されていない値) を使用して、インスタンスを、指定した Freezable の固定された複製にします。

(継承元 Freezable)
GetCurrentValueAsFrozen()

現在のプロパティ値を使用して、Freezable の固定されたコピーを作成します。 コピーが固定されているため、参照によって任意の固定されたサブオブジェクトがコピーされます。

(継承元 Freezable)
GetCurrentValueAsFrozenCore(Freezable)

現在のインスタンスを、指定した Freezable の固定された複製にします。 オブジェクトに、アニメーション化された依存関係プロパティが存在する場合、現在アニメーション化されている値がコピーされます。

(継承元 Freezable)
GetFlattenedPathGeometry()

PathGeometry オブジェクトの多角形近似である Geometry を取得します。

(継承元 Geometry)
GetFlattenedPathGeometry(Double, ToleranceType)

指定した許容範囲内で、PathGeometry オブジェクトの多角形近似である Geometry を取得します。

(継承元 Geometry)
GetHashCode()

この DependencyObject のハッシュ コードを取得します。

(継承元 DependencyObject)
GetLocalValueEnumerator()

どの依存関係プロパティがこの DependencyObject 上にローカルに設定された値を持つかを確認するための、専用の列挙子を作成します。

(継承元 DependencyObject)
GetOutlinedPathGeometry()

PathGeometry の塗りつぶされた領域の簡略化されたアウトラインである Geometry を取得します。

(継承元 Geometry)
GetOutlinedPathGeometry(Double, ToleranceType)

指定した許容範囲内で、PathGeometry の塗りつぶされた領域の簡略化されたアウトラインである Geometry を取得します。

(継承元 Geometry)
GetRenderBounds(Pen)

指定した Pen でアウトライン化したジオメトリをちょうど格納できる大きさの、軸に平行な四角形を返します。

(継承元 Geometry)
GetRenderBounds(Pen, Double, ToleranceType)

指定した許容範囲の要素を前提とし、指定した Pen でアウトライン化したジオメトリをちょうど格納できる大きさの、軸に平行な四角形を返します。

(継承元 Geometry)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
GetValue(DependencyProperty)

DependencyObject のこのインスタンスにある依存関係プロパティの現在の有効値を返します。

(継承元 DependencyObject)
GetWidenedPathGeometry(Pen)

指定した PathGeometry によって生成される Geometry 上のストロークで定義される図形である、Pen を取得します。

(継承元 Geometry)
GetWidenedPathGeometry(Pen, Double, ToleranceType)

指定した許容範囲の要素を前提とし、指定した PathGeometry によって生成される Geometry 上のストロークで定義される図形である、Pen を取得します。

(継承元 Geometry)
InvalidateProperty(DependencyProperty)

指定した依存関係プロパティの有効値を再評価します。

(継承元 DependencyObject)
IsEmpty()

この EllipseGeometry オブジェクトが空であるかどうかを判断します。

MayHaveCurves()

この EllipseGeometry オブジェクトが曲線のセグメントを持つことができるかどうかを判断します。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
OnChanged()

現在の Freezable オブジェクトの変更時に呼び出されます。

(継承元 Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

設定されたばかりの DependencyObjectType データ メンバーに対して、適切なコンテキスト ポインターが確立されていることを確認します。

(継承元 Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

このメンバーは、Windows Presentation Foundation (WPF) インフラストラクチャをサポートしており、コードから直接使用することを意図したものではありません。

(継承元 Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

OnPropertyChanged(DependencyPropertyChangedEventArgs)DependencyObject 実装をオーバーライドして、さらに型 Freezable の変化する依存関係プロパティへの応答として任意の Changed ハンドラーも呼び出します。

(継承元 Freezable)
ReadLocalValue(DependencyProperty)

ローカルの依存関係プロパティの値を返します (存在する場合)。

(継承元 DependencyObject)
ReadPreamble()

Freezable が有効なスレッドからアクセスされていることを確認します。 Freezable の継承側は、依存関係プロパティでないデータ メンバーを読み取る任意の API の開始時に、このメソッドを呼び出す必要があります。

(継承元 Freezable)
SetCurrentValue(DependencyProperty, Object)

依存関係プロパティ値のソースを変更せずにその値を設定します。

(継承元 DependencyObject)
SetValue(DependencyProperty, Object)

依存関係プロパティ識別子を指定して、該当する依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
SetValue(DependencyPropertyKey, Object)

依存関係プロパティの DependencyPropertyKey 識別子で指定した読み取り専用の依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

シリアル化プロセスが、指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。

(継承元 DependencyObject)
ShouldSerializeTransform()

Transform プロパティの値をシリアル化する必要があるかどうかを示す値を取得します。

(継承元 Geometry)
StrokeContains(Pen, Point)

特定の Point をジオメトリに対して適用することにより生成されるストローク内に、指定した Pen が含まれているかどうかを判断します。

(継承元 Geometry)
StrokeContains(Pen, Point, Double, ToleranceType)

指定した許容誤差を前提として、特定の Point をジオメトリに対して適用することにより生成されるストローク内に、指定した Pen が含まれているかどうかを判断します。

(継承元 Geometry)
StrokeContainsWithDetail(Pen, Geometry)

指定した Geometry と、指定した Pen を現在のジオメトリに適用して作成されるストロークの交差部分を記述する値を返します。

(継承元 Geometry)
StrokeContainsWithDetail(Pen, Geometry, Double, ToleranceType)

指定した許容誤差を前提として、指定した Geometry と、指定した Pen を現在のジオメトリに適用して作成されるストローク間の交差部分を記述する値を取得します。

(継承元 Geometry)
ToString()

現在のカルチャに基づいて、オブジェクトの文字列表現を作成します。

(継承元 Geometry)
ToString(IFormatProvider)

指定したカルチャ固有の書式設定情報を使用して、オブジェクトの文字列表現を作成します。

(継承元 Geometry)
VerifyAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。

(継承元 DispatcherObject)
WritePostscript()

FreezableChanged イベントを発生させ、その OnChanged() メソッドを呼び出します。 Freezable から派生するクラスは、依存関係プロパティとして格納されていないクラス メンバーを変更するすべての API の終了時に、このメソッドを呼び出す必要があります。

(継承元 Freezable)
WritePreamble()

Freezable が固定されておらず、有効なスレッド コンテキストからアクセスされていることを確認します。 Freezable の継承側は、依存関係プロパティでないデータ メンバーに書き込む任意の API の開始時に、このメソッドを呼び出す必要があります。

(継承元 Freezable)

イベント

Changed

Freezable、またはこれに含まれているオブジェクトが変更されると発生します。

(継承元 Freezable)

明示的なインターフェイスの実装

IFormattable.ToString(String, IFormatProvider)

指定された書式を使用して現在のインスタンスの値を書式設定します。

(継承元 Geometry)

適用対象

こちらもご覧ください