PolyBezierSegment クラス

定義

1 本以上の 3 次ベジエ曲線を表します。Represents one or more cubic Bezier curves.

public ref class PolyBezierSegment sealed : System::Windows::Media::PathSegment
public sealed class PolyBezierSegment : System.Windows.Media.PathSegment
type PolyBezierSegment = class
    inherit PathSegment
Public NotInheritable Class PolyBezierSegment
Inherits PathSegment
継承

次の例は、をPolyBezierSegment使用して2つの3次ベジエ曲線を描画する方法を示しています。The following example shows how to use a PolyBezierSegment to draw two cubic Bezier curves.

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <StackPanel>
    <Canvas>
      <Path Stroke="Black" StrokeThickness="1">
        <Path.Data>
          <PathGeometry>
            <PathGeometry.Figures>
              <PathFigureCollection>

                <!-- The StartPoint specifies the starting point of the first curve. -->
                <PathFigure StartPoint="10,100">
                  <PathFigure.Segments>
                    <PathSegmentCollection>

                      <!-- The PolyBezierSegment specifies two cubic Bezier curves.
                           The first curve is from 10,100 (start point specified above)
                           to 300,100 with a control point of 0,0 and another control
                           point of 200,0. The second curve is from 300,100 
                           (end of the last curve) to 600,100 with a control point of 300,0
                           and another control point of 400,0. -->
                      <PolyBezierSegment Points="0,0 200,0 300,100 300,0 400,0 600,100" />
                    </PathSegmentCollection>
                  </PathFigure.Segments>
                </PathFigure>
              </PathFigureCollection>
            </PathGeometry.Figures>
          </PathGeometry>
        </Path.Data>
      </Path>
    </Canvas>
  </StackPanel>
</Page>
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Shapes;

namespace SDKSample
{
    public partial class PolyBezierSegmentExample : Page
    {
        public PolyBezierSegmentExample()
        {

            // Create a PathFigure to be used for the PathGeometry of myPath.
            PathFigure myPathFigure = new PathFigure();

            // Set the starting point for the PathFigure specifying that the
            // geometry starts at point 10,100.
            myPathFigure.StartPoint = new Point(10, 100);

            // Create a PointCollection that holds the Points used to specify 
            // the points of the PolyBezierSegment below.
            PointCollection myPointCollection = new PointCollection(6);
            myPointCollection.Add(new Point(0, 0));
            myPointCollection.Add(new Point(200, 0));
            myPointCollection.Add(new Point(300, 100));
            myPointCollection.Add(new Point(300, 0));
            myPointCollection.Add(new Point(400, 0));
            myPointCollection.Add(new Point(600, 100));

            // The PolyBezierSegment specifies two cubic Bezier curves.
            // The first curve is from 10,100 (start point specified by the PathFigure)
            // to 300,100 with a control point of 0,0 and another control point 
            // of 200,0. The second curve is from 300,100 (end of the last curve) to 
            // 600,100 with a control point of 300,0 and another control point of 400,0.
            PolyBezierSegment myBezierSegment = new PolyBezierSegment();
            myBezierSegment.Points = myPointCollection;

            PathSegmentCollection myPathSegmentCollection = new PathSegmentCollection();
            myPathSegmentCollection.Add(myBezierSegment);

            myPathFigure.Segments = myPathSegmentCollection;

            PathFigureCollection myPathFigureCollection = new PathFigureCollection();
            myPathFigureCollection.Add(myPathFigure);

            PathGeometry myPathGeometry = new PathGeometry();
            myPathGeometry.Figures = myPathFigureCollection;

            // Create a path to draw a geometry with.
            Path myPath = new Path();
            myPath.Stroke = Brushes.Black;
            myPath.StrokeThickness = 1;

            // specify the shape (quadratic Bezier curve) of the path using the StreamGeometry.
            myPath.Data = myPathGeometry;

            // Add path shape to the UI.
            StackPanel mainPanel = new StackPanel();
            mainPanel.Children.Add(myPath);
            this.Content = mainPanel;
        }
    }
}

Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Media
Imports System.Windows.Shapes

Namespace SDKSample
    Partial Public Class PolyBezierSegmentExample
        Inherits Page
        Public Sub New()

            ' Create a PathFigure to be used for the PathGeometry of myPath.
            Dim myPathFigure As New PathFigure()

            ' Set the starting point for the PathFigure specifying that the
            ' geometry starts at point 10,100.
            myPathFigure.StartPoint = New Point(10, 100)

            ' Create a PointCollection that holds the Points used to specify 
            ' the points of the PolyBezierSegment below.
            Dim myPointCollection As New PointCollection(6)
            myPointCollection.Add(New Point(0, 0))
            myPointCollection.Add(New Point(200, 0))
            myPointCollection.Add(New Point(300, 100))
            myPointCollection.Add(New Point(300, 0))
            myPointCollection.Add(New Point(400, 0))
            myPointCollection.Add(New Point(600, 100))

            ' The PolyBezierSegment specifies two cubic Bezier curves.
            ' The first curve is from 10,100 (start point specified by the PathFigure)
            ' to 300,100 with a control point of 0,0 and another control point 
            ' of 200,0. The second curve is from 300,100 (end of the last curve) to 
            ' 600,100 with a control point of 300,0 and another control point of 400,0.
            Dim myBezierSegment As New PolyBezierSegment()
            myBezierSegment.Points = myPointCollection

            Dim myPathSegmentCollection As New PathSegmentCollection()
            myPathSegmentCollection.Add(myBezierSegment)

            myPathFigure.Segments = myPathSegmentCollection

            Dim myPathFigureCollection As New PathFigureCollection()
            myPathFigureCollection.Add(myPathFigure)

            Dim myPathGeometry As New PathGeometry()
            myPathGeometry.Figures = myPathFigureCollection

            ' Create a path to draw a geometry with.
            Dim myPath As New Path()
            myPath.Stroke = Brushes.Black
            myPath.StrokeThickness = 1

            ' specify the shape (quadratic Bezier curve) of the path using the StreamGeometry.
            myPath.Data = myPathGeometry

            ' Add path shape to the UI.
            Dim mainPanel As New StackPanel()
            mainPanel.Children.Add(myPath)
            Me.Content = mainPanel
        End Sub
    End Class
End Namespace

注釈

オブジェクトを使用してPolyBezierSegment 、オブジェクトとその他のセグメントを格納します。 PathFigureUse a PathFigure object to store PolyBezierSegment objects and other segments.

3次ベジエ曲線は、始点、終点、および2つの制御点で定義されています。A cubic Bezier curve is defined by four points: a start point, an end point and two control points. PolyBezierSegmentPointsプロパティをポイントのコレクションに設定することによって、1つまたは複数の3次ベジエ曲線を指定します。A PolyBezierSegment specifies one or more cubic Bezier curves by setting the Points property to a collection of points. コレクション内の3つのポイントごとに、1番目と2番目のポイントは曲線の2つの制御点を指定し、3番目のポイントはエンドポイントを指定します。For every three points in the collection, the first and second points specify the two control points of the curve and the third point specifies the end point. 開始点は最後のセグメントの終点と同じであるため、曲線の始点は指定されていません。Note that no start point for the curve is specified because start point is the same as the end point of the last segment.

3次ベジエ曲線の2つの制御点は、マグネットのように動作し、それ以外の場合は、それ自体が直線になるような部分を獲得し、曲線を生成します。The two control points of a cubic Bezier curve behave like magnets, attracting portions of what would otherwise be a straight line toward themselves and producing a curve. 最初の制御点は曲線の開始部分に影響します。2つ目の制御点は曲線の終了部分に影響します。The first control point affects the beginning portion of the curve; the second control point affects the ending portion of the curve. 曲線は必ずしも制御点のいずれかを通過しないことに注意してください。各コントロールポイントは、行のその部分をそれ自体に移動するのではなく、自身の方向に移動します。Note that the curve doesn't necessarily pass through either of the control points; each control point moves its portion of the line toward itself, but not through itself.

コンストラクター

PolyBezierSegment()

PolyBezierSegment クラスの新しいインスタンスを初期化します。Initializes a new instance of the PolyBezierSegment class.

PolyBezierSegment(IEnumerable<Point>, Boolean)

PolyBezierSegment オブジェクトのコレクションを指定し、セグメントに線を付けるかどうかを示す値を使用して、Point クラスの新しいインスタンスを初期化します。Initializes a new instance of the PolyBezierSegment class with the specified collection of Point objects and a value specifying whether the segments are stroked.

フィールド

PointsProperty

Points 依存関係プロパティを識別します。Identifies the Points dependency property.

プロパティ

CanFreeze

オブジェクトを変更不可能にできるかどうかを示す値を取得します。Gets a value that indicates whether the object can be made unmodifiable.

(継承元 Freezable)
DependencyObjectType

このインスタンスの CLRCLR 型をラップする DependencyObjectType を取得します。Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(継承元 DependencyObject)
Dispatcher

この Dispatcher が関連付けられている DispatcherObject を取得します。Gets the Dispatcher this DispatcherObject is associated with.

(継承元 DispatcherObject)
HasAnimatedProperties

1 つ以上の AnimationClock オブジェクトが、このオブジェクトの任意の依存関係プロパティに関連付けられているかどうかを示す値を取得または設定します。Gets a value that indicates whether one or more AnimationClock objects is associated with any of this object's dependency properties.

(継承元 Animatable)
IsFrozen

オブジェクトが変更可能かどうかを示す値を取得します。Gets a value that indicates whether the object is currently modifiable.

(継承元 Freezable)
IsSealed

このインスタンスが現在シールされている (読み取り専用である) かどうかを示す値を取得します。Gets a value that indicates whether this instance is currently sealed (read-only).

(継承元 DependencyObject)
IsSmoothJoin

PathSegment で線を付けたときに、この PathSegment と前の Pen の結合部分を角として扱うかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the join between this PathSegment and the previous PathSegment is treated as a corner when it is stroked with a Pen.

(継承元 PathSegment)
IsStroked

セグメントに線を付けるかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the segment is stroked.

(継承元 PathSegment)
Points

この PointCollection オブジェクトを定義する PolyBezierSegment を取得または設定します。Gets or sets the PointCollection that define this PolyBezierSegment object.

メソッド

ApplyAnimationClock(DependencyProperty, AnimationClock)

AnimationClock を指定した DependencyProperty に適用します。Applies an AnimationClock to the specified DependencyProperty. プロパティが既にアニメーション化されている場合は、SnapshotAndReplace ハンドオフ動作が使用されます。If the property is already animated, the SnapshotAndReplace handoff behavior is used.

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

AnimationClock を指定した DependencyProperty に適用します。Applies an AnimationClock to the specified DependencyProperty. プロパティが既にアニメーション化されている場合は、指定した HandoffBehavior が使用されます。If the property is already animated, the specified HandoffBehavior is used.

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

指定された DependencyProperty にアニメーションを適用します。Applies an animation to the specified DependencyProperty. アニメーションは、次のフレームがレンダリングされるときに開始されます。The animation is started when the next frame is rendered. 指定されたプロパティが既にアニメーション化されている場合は、SnapshotAndReplace ハンドオフ動作が使用されます。If the specified property is already animated, the SnapshotAndReplace handoff behavior is used.

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

指定された DependencyProperty にアニメーションを適用します。Applies an animation to the specified DependencyProperty. アニメーションは、次のフレームがレンダリングされるときに開始されます。The animation is started when the next frame is rendered. 指定したプロパティが既にアニメーション化されている場合は、指定した HandoffBehavior が使用されます。If the specified property is already animated, the specified HandoffBehavior is used.

(継承元 Animatable)
CheckAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。Determines whether the calling thread has access to this DispatcherObject.

(継承元 DispatcherObject)
ClearValue(DependencyProperty)

プロパティのローカル値をクリアします。Clears the local value of a property. クリアするプロパティは DependencyProperty 識別子で指定されます。The property to be cleared is specified by a DependencyProperty identifier.

(継承元 DependencyObject)
ClearValue(DependencyPropertyKey)

読み取り専用プロパティのローカル値を消去します。Clears the local value of a read-only property. 消去するプロパティは、DependencyPropertyKey で指定します。The property to be cleared is specified by a DependencyPropertyKey.

(継承元 DependencyObject)
Clone()

この PolyBezierSegment の変更可能な複製を作成し、このオブジェクトの値の詳細コピーを作成します。Creates a modifiable clone of this PolyBezierSegment, making deep copies of this object's values. このメソッドは、依存関係プロパティをコピーするときにリソース参照とデータ バインディングをコピーしますが (ただし、これらは解決されなくなる場合があります)、アニメーションやその現在の値はコピーしません。When copying dependency properties, this method copies resource references and data bindings (but they might no longer resolve) but not animations or their current values.

CloneCore(Freezable)

基本 (アニメーション化されていない) プロパティ値を使用して、インスタンスを、指定した Freezable の複製 (詳細コピー) にします。Makes the instance a clone (deep copy) of the specified Freezable using base (non-animated) property values.

(継承元 Freezable)
CloneCurrentValue()

この PolyBezierSegment オブジェクトの変更可能な複製を作成し、このオブジェクトの現在値の詳細コピーを作成します。Creates a modifiable clone of this PolyBezierSegment object, making deep copies of this object's current values. リソース参照、データ バインディング、アニメーションはコピーされませんが、それらの現在値はコピーされます。Resource references, data bindings, and animations are not copied, but their current values are.

CloneCurrentValueCore(Freezable)

現在のプロパティ値を使用して、インスタンスを、指定した Freezable の変更可能な複製 (詳細コピー) にします。Makes the instance a modifiable clone (deep copy) of the specified Freezable using current property values.

(継承元 Freezable)
CoerceValue(DependencyProperty)

指定した依存関係プロパティの値を強制します。Coerces the value of the specified dependency property. これは、呼び出し元の DependencyObject の依存関係プロパティのプロパティ メタデータで指定されている CoerceValueCallback 関数を呼び出すことによって実現されます。This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(継承元 DependencyObject)
CreateInstance()

Freezable クラスの新しいインスタンスを初期化します。Initializes a new instance of the Freezable class.

(継承元 Freezable)
CreateInstanceCore()

派生クラスで実装された場合、Freezable 派生クラスの新しいインスタンスを作成します。When implemented in a derived class, creates a new instance of the Freezable derived class.

(継承元 Freezable)
Equals(Object)

指定した DependencyObject が現在の DependencyObject と等しいかどうかを判断します。Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(継承元 DependencyObject)
Freeze()

現在のオブジェクトを変更不可能にし、その IsFrozen プロパティを true に設定します。Makes the current object unmodifiable and sets its IsFrozen property to true.

(継承元 Freezable)
FreezeCore(Boolean)

Animatable オブジェクトを変更不可能な状態にするか、変更不可能な状態にできるかどうかを判断します。Makes this Animatable object unmodifiable or determines whether it can be made unmodifiable.

(継承元 Animatable)
GetAnimationBaseValue(DependencyProperty)

指定した DependencyProperty のアニメーション化されていない値を返します。Returns the non-animated value of the specified DependencyProperty.

(継承元 Animatable)
GetAsFrozen()

基本プロパティ値 (アニメーション化されていない値) を使用して、Freezable の 固定されたコピーを作成します。Creates a frozen copy of the Freezable, using base (non-animated) property values. コピーが固定されているため、参照によって任意の固定されたサブオブジェクトがコピーされます。Because the copy is frozen, any frozen sub-objects are copied by reference.

(継承元 Freezable)
GetAsFrozenCore(Freezable)

基本プロパティ値 (アニメーション化されていない値) を使用して、インスタンスを、指定した Freezable の固定された複製にします。Makes the instance a frozen clone of the specified Freezable using base (non-animated) property values.

(継承元 Freezable)
GetCurrentValueAsFrozen()

現在のプロパティ値を使用して、Freezable の固定されたコピーを作成します。Creates a frozen copy of the Freezable using current property values. コピーが固定されているため、参照によって任意の固定されたサブオブジェクトがコピーされます。Because the copy is frozen, any frozen sub-objects are copied by reference.

(継承元 Freezable)
GetCurrentValueAsFrozenCore(Freezable)

現在のインスタンスを、指定した Freezable の固定された複製にします。Makes the current instance a frozen clone of the specified Freezable. オブジェクトに、アニメーション化された依存関係プロパティが存在する場合、現在アニメーション化されている値がコピーされます。If the object has animated dependency properties, their current animated values are copied.

(継承元 Freezable)
GetHashCode()

この DependencyObject のハッシュ コードを取得します。Gets a hash code for this DependencyObject.

(継承元 DependencyObject)
GetLocalValueEnumerator()

どの依存関係プロパティがこの DependencyObject 上にローカルに設定された値を持つかを確認するための、専用の列挙子を作成します。Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(継承元 DependencyObject)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
GetValue(DependencyProperty)

DependencyObject のこのインスタンスにある依存関係プロパティの現在の有効値を返します。Returns the current effective value of a dependency property on this instance of a DependencyObject.

(継承元 DependencyObject)
InvalidateProperty(DependencyProperty)

指定した依存関係プロパティの有効値を再評価します。Re-evaluates the effective value for the specified dependency property.

(継承元 DependencyObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
OnChanged()

現在の Freezable オブジェクトの変更時に呼び出されます。Called when the current Freezable object is modified.

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

設定されたばかりの DependencyObjectType データ メンバーに対して、適切なコンテキスト ポインターが確立されていることを確認します。Ensures that appropriate context pointers are established for a DependencyObjectType data member that has just been set.

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

このメンバーは、Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) インフラストラクチャをサポートしますが、独自に作成したコードから直接使用するためのものではありません。This member supports the Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code.

(継承元 Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

OnPropertyChanged(DependencyPropertyChangedEventArgs)DependencyObject 実装をオーバーライドして、さらに型 Freezable の変化する依存関係プロパティへの応答として任意の Changed ハンドラーも呼び出します。Overrides the DependencyObject implementation of OnPropertyChanged(DependencyPropertyChangedEventArgs) to also invoke any Changed handlers in response to a changing dependency property of type Freezable.

(継承元 Freezable)
ReadLocalValue(DependencyProperty)

ローカルの依存関係プロパティの値を返します (存在する場合)。Returns the local value of a dependency property, if it exists.

(継承元 DependencyObject)
ReadPreamble()

Freezable が有効なスレッドからアクセスされていることを確認します。Ensures that the Freezable is being accessed from a valid thread. Freezable の継承側は、依存関係プロパティでないデータ メンバーを読み取る任意の API の開始時に、このメソッドを呼び出す必要があります。Inheritors of Freezable must call this method at the beginning of any API that reads data members that are not dependency properties.

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

依存関係プロパティ値のソースを変更せずにその値を設定します。Sets the value of a dependency property without changing its value source.

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

依存関係プロパティ識別子を指定して、該当する依存関係プロパティのローカル値を設定します。Sets the local value of a dependency property, specified by its dependency property identifier.

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

依存関係プロパティの DependencyPropertyKey 識別子で指定した読み取り専用の依存関係プロパティのローカル値を設定します。Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(継承元 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

シリアル化プロセスが、指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(継承元 DependencyObject)
ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)
VerifyAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。Enforces that the calling thread has access to this DispatcherObject.

(継承元 DispatcherObject)
WritePostscript()

FreezableChanged イベントを発生させ、その OnChanged() メソッドを呼び出します。Raises the Changed event for the Freezable and invokes its OnChanged() method. Freezable から派生するクラスは、依存関係プロパティとして格納されていないクラス メンバーを変更するすべての API の終了時に、このメソッドを呼び出す必要があります。Classes that derive from Freezable should call this method at the end of any API that modifies class members that are not stored as dependency properties.

(継承元 Freezable)
WritePreamble()

Freezable が固定されておらず、有効なスレッド コンテキストからアクセスされていることを確認します。Verifies that the Freezable is not frozen and that it is being accessed from a valid threading context. Freezable の継承側は、依存関係プロパティでないデータ メンバーに書き込む任意の API の開始時に、このメソッドを呼び出す必要があります。Freezable inheritors should call this method at the beginning of any API that writes to data members that are not dependency properties.

(継承元 Freezable)

イベント

Changed

Freezable、またはこれに含まれているオブジェクトが変更されると発生します。Occurs when the Freezable or an object it contains is modified.

(継承元 Freezable)

適用対象

こちらもご覧ください