Bagikan melalui


PolyBezierSegment Kelas

Definisi

Mewakili satu atau beberapa kurva Cubic Bezier.

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
Warisan

Contoh

Contoh berikut menunjukkan cara menggunakan PolyBezierSegment untuk menggambar dua kurva Bezier kubik.

<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

Keterangan

PathFigure Gunakan objek untuk menyimpan PolyBezierSegment objek dan segmen lainnya.

Kurva Bezier kubik didefinisikan oleh empat titik: titik awal, titik akhir, dan dua titik kontrol. Menentukan PolyBezierSegment satu atau beberapa kurva Cubic Bezier dengan mengatur Points properti ke kumpulan titik. Untuk setiap tiga poin dalam koleksi, poin pertama dan kedua menentukan dua titik kontrol kurva dan titik ketiga menentukan titik akhir. Perhatikan bahwa tidak ada titik awal untuk kurva yang ditentukan karena titik awal sama dengan titik akhir segmen terakhir.

Dua titik kontrol kurva Bezier kubik berulah seperti magnet, menarik bagian dari apa yang akan menjadi garis lurus menuju diri mereka sendiri dan menghasilkan kurva. Titik kontrol pertama mempengaruhi bagian awal kurva; titik kontrol kedua memengaruhi bagian akhir kurva. Perhatikan bahwa kurva tidak selalu melewati salah satu titik kontrol; setiap titik kontrol memindahkan bagian garisnya ke arah dirinya sendiri, tetapi tidak melalui dirinya sendiri.

Konstruktor

PolyBezierSegment()

Menginisialisasi instans baru kelas PolyBezierSegment.

PolyBezierSegment(IEnumerable<Point>, Boolean)

Menginisialisasi instans PolyBezierSegment baru kelas dengan koleksi Point objek yang ditentukan dan nilai yang menentukan apakah segmen dikategorikan.

Bidang

PointsProperty

Points Mengidentifikasi properti dependensi.

Properti

CanFreeze

Mendapatkan nilai yang menunjukkan apakah objek dapat dibuat tidak dapat dimodifikasi.

(Diperoleh dari Freezable)
DependencyObjectType

Mendapatkan yang membungkus jenis CLR dari instans DependencyObjectType ini.

(Diperoleh dari DependencyObject)
Dispatcher

Dispatcher Mendapatkan ini DispatcherObject dikaitkan dengan.

(Diperoleh dari DispatcherObject)
HasAnimatedProperties

Mendapatkan nilai yang menunjukkan apakah satu atau beberapa AnimationClock objek dikaitkan dengan salah satu properti dependensi objek ini.

(Diperoleh dari Animatable)
IsFrozen

Mendapatkan nilai yang menunjukkan apakah objek saat ini dapat dimodifikasi.

(Diperoleh dari Freezable)
IsSealed

Mendapatkan nilai yang menunjukkan apakah instans ini saat ini disegel (baca-saja).

(Diperoleh dari DependencyObject)
IsSmoothJoin

Mendapatkan atau menetapkan nilai yang menunjukkan apakah gabungan antara ini PathSegment dan yang sebelumnya PathSegment diperlakukan sebagai sudut ketika dikatai dengan Pen.

(Diperoleh dari PathSegment)
IsStroked

Mendapatkan atau menetapkan nilai yang menunjukkan apakah segmen dikategorikan.

(Diperoleh dari PathSegment)
Points

Mendapatkan atau mengatur PointCollection yang menentukan objek ini PolyBezierSegment .

Metode

ApplyAnimationClock(DependencyProperty, AnimationClock)

AnimationClock Menerapkan ke yang ditentukanDependencyProperty. Jika properti sudah dianimasikan, SnapshotAndReplace perilaku handoff digunakan.

(Diperoleh dari Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

AnimationClock Menerapkan ke yang ditentukanDependencyProperty. Jika properti sudah dianimasikan, yang ditentukan HandoffBehavior akan digunakan.

(Diperoleh dari Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Menerapkan animasi ke yang ditentukan DependencyProperty. Animasi dimulai ketika bingkai berikutnya dirender. Jika properti yang ditentukan sudah dianimasikan, SnapshotAndReplace perilaku handoff digunakan.

(Diperoleh dari Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Menerapkan animasi ke yang ditentukan DependencyProperty. Animasi dimulai ketika bingkai berikutnya dirender. Jika properti yang ditentukan sudah dianimasikan, properti yang ditentukan HandoffBehavior akan digunakan.

(Diperoleh dari Animatable)
CheckAccess()

Menentukan apakah utas panggilan memiliki akses ke ini DispatcherObject.

(Diperoleh dari DispatcherObject)
ClearValue(DependencyProperty)

Menghapus nilai lokal properti. Properti yang akan dibersihkan ditentukan oleh DependencyProperty pengidentifikasi.

(Diperoleh dari DependencyObject)
ClearValue(DependencyPropertyKey)

Menghapus nilai lokal properti baca-saja. Properti yang akan dibersihkan ditentukan oleh DependencyPropertyKey.

(Diperoleh dari DependencyObject)
Clone()

Membuat kloning yang dapat dimodifikasi dari ini PolyBezierSegment, membuat salinan mendalam dari nilai objek ini. Saat menyalin properti dependensi, metode ini menyalin referensi sumber daya dan pengikatan data (tetapi mungkin tidak lagi diselesaikan) tetapi bukan animasi atau nilainya saat ini.

CloneCore(Freezable)

Menjadikan instans sebagai kloning (salinan mendalam) dari yang ditentukan Freezable menggunakan nilai properti dasar (non-animasi).

(Diperoleh dari Freezable)
CloneCurrentValue()

Membuat klon yang dapat dimodifikasi dari objek ini PolyBezierSegment , membuat salinan mendalam dari nilai objek ini saat ini. Referensi sumber daya, pengikatan data, dan animasi tidak disalin, tetapi nilainya saat ini.

CloneCurrentValueCore(Freezable)

Menjadikan instans sebagai klon yang dapat dimodifikasi (salinan mendalam) dari yang ditentukan Freezable menggunakan nilai properti saat ini.

(Diperoleh dari Freezable)
CoerceValue(DependencyProperty)

Memaksakan nilai properti dependensi yang ditentukan. Ini dicapai dengan memanggil fungsi apa pun CoerceValueCallback yang ditentukan dalam metadata properti untuk properti dependensi seperti yang ada pada panggilan DependencyObject.

(Diperoleh dari DependencyObject)
CreateInstance()

Menginisialisasi instans baru kelas Freezable.

(Diperoleh dari Freezable)
CreateInstanceCore()

Saat diimplementasikan di kelas turunan, membuat instans baru dari kelas turunan Freezable .

(Diperoleh dari Freezable)
Equals(Object)

Menentukan apakah yang disediakan DependencyObject setara dengan saat ini DependencyObject.

(Diperoleh dari DependencyObject)
Freeze()

Membuat objek saat ini tidak dapat dimodifikasi dan mengatur propertinya IsFrozen ke true.

(Diperoleh dari Freezable)
FreezeCore(Boolean)

Membuat objek ini Animatable tidak dapat dimodifikasi atau menentukan apakah objek dapat dibuat tidak dapat dimodifikasi.

(Diperoleh dari Animatable)
GetAnimationBaseValue(DependencyProperty)

Mengembalikan nilai non-animasi dari yang ditentukan DependencyProperty.

(Diperoleh dari Animatable)
GetAsFrozen()

Membuat salinan beku dari Freezable, menggunakan nilai properti dasar (non-animasi). Karena salinan dibekukan, sub-objek beku apa pun disalin oleh referensi.

(Diperoleh dari Freezable)
GetAsFrozenCore(Freezable)

Menjadikan instans sebagai klon beku dari yang ditentukan Freezable menggunakan nilai properti dasar (non-animasi).

(Diperoleh dari Freezable)
GetCurrentValueAsFrozen()

Membuat salinan beku dari Freezable menggunakan nilai properti saat ini. Karena salinan dibekukan, sub-objek beku apa pun disalin oleh referensi.

(Diperoleh dari Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Menjadikan instans saat ini sebagai klon beku dari yang ditentukan Freezable. Jika objek memiliki properti dependensi animasi, nilai animasinya saat ini akan disalin.

(Diperoleh dari Freezable)
GetHashCode()

Mendapatkan kode hash untuk ini DependencyObject.

(Diperoleh dari DependencyObject)
GetLocalValueEnumerator()

Membuat enumerator khusus untuk menentukan properti dependensi mana yang memiliki nilai yang ditetapkan secara lokal pada ini DependencyObject.

(Diperoleh dari DependencyObject)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
GetValue(DependencyProperty)

Mengembalikan nilai efektif properti dependensi saat ini pada instans ini dari DependencyObject.

(Diperoleh dari DependencyObject)
InvalidateProperty(DependencyProperty)

Mengevaluasi kembali nilai efektif untuk properti dependensi yang ditentukan.

(Diperoleh dari DependencyObject)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
OnChanged()

Dipanggil ketika objek saat ini Freezable dimodifikasi.

(Diperoleh dari Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Memastikan bahwa penunjuk konteks yang sesuai ditetapkan untuk DependencyObjectType anggota data yang baru saja ditetapkan.

(Diperoleh dari Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Anggota ini mendukung infrastruktur Windows Presentation Foundation (WPF) dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

(Diperoleh dari Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Mengambil alih DependencyObject implementasi OnPropertyChanged(DependencyPropertyChangedEventArgs) untuk juga memanggil penangan apa pun Changed sebagai respons terhadap properti dependensi yang berubah dari jenis Freezable.

(Diperoleh dari Freezable)
ReadLocalValue(DependencyProperty)

Mengembalikan nilai lokal properti dependensi, jika ada.

(Diperoleh dari DependencyObject)
ReadPreamble()

Memastikan bahwa Freezable sedang diakses dari utas yang valid. Pewaris Freezable harus memanggil metode ini di awal API apa pun yang membaca anggota data yang bukan properti dependensi.

(Diperoleh dari Freezable)
SetCurrentValue(DependencyProperty, Object)

Mengatur nilai properti dependensi tanpa mengubah sumber nilainya.

(Diperoleh dari DependencyObject)
SetValue(DependencyProperty, Object)

Mengatur nilai lokal properti dependensi, yang ditentukan oleh pengidentifikasi properti dependensinya.

(Diperoleh dari DependencyObject)
SetValue(DependencyPropertyKey, Object)

Mengatur nilai lokal properti dependensi baca-saja, yang ditentukan oleh DependencyPropertyKey pengidentifikasi properti dependensi.

(Diperoleh dari DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Mengembalikan nilai yang menunjukkan apakah proses serialisasi harus menserialisasikan nilai untuk properti dependensi yang disediakan.

(Diperoleh dari DependencyObject)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
VerifyAccess()

Memberlakukan bahwa utas panggilan memiliki akses ke ini DispatcherObject.

(Diperoleh dari DispatcherObject)
WritePostscript()

Menaikkan Changed peristiwa untuk Freezable dan memanggil metodenya OnChanged() . Kelas yang berasal dari Freezable harus memanggil metode ini di akhir API apa pun yang memodifikasi anggota kelas yang tidak disimpan sebagai properti dependensi.

(Diperoleh dari Freezable)
WritePreamble()

Memverifikasi bahwa Freezable tidak dibekukan dan sedang diakses dari konteks utas yang valid. Freezable pewaris harus memanggil metode ini di awal API apa pun yang menulis ke anggota data yang bukan properti dependensi.

(Diperoleh dari Freezable)

Acara

Changed

Terjadi ketika Freezable atau objek yang dikandungnya dimodifikasi.

(Diperoleh dari Freezable)

Berlaku untuk

Lihat juga