PolyBezierSegment Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje jednu nebo více krychlových Bezierových křivek.
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
- Dědičnost
Příklady
Následující příklad ukazuje, jak použít k PolyBezierSegment vykreslení dvou krychlových Bezierových křivek.
<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
Poznámky
Objekt slouží PathFigure k ukládání PolyBezierSegment objektů a dalších segmentů.
Krychlová Bezierovy křivky je definována čtyřmi body: počátečním bodem, koncovým bodem a dvěma řídicími body. Určuje PolyBezierSegment jednu nebo více kubických Bezierových křivek nastavením Points vlastnosti na kolekci bodů. Pro každé tři body v kolekci určuje první a druhý bod dva řídicí body křivky a třetí bod určuje koncový bod. Všimněte si, že pro křivku není zadán žádný počáteční bod, protože počáteční bod je stejný jako koncový bod posledního segmentu.
Dva řídicí body kubické Bezierovy křivky se chovají jako magnety, přitahují části toho, co by jinak byla přímka k sobě, a vytvářejí křivku. První řídicí bod ovlivňuje počáteční část křivky; druhý řídicí bod ovlivňuje koncovou část křivky. Všimněte si, že křivka nemusí nutně procházet některým z kontrolních bodů; každý řídicí bod přesune svou část přímky k sobě, ale ne přes sebe.
Konstruktory
PolyBezierSegment() |
Inicializuje novou instanci PolyBezierSegment třídy . |
PolyBezierSegment(IEnumerable<Point>, Boolean) |
Inicializuje novou instanci PolyBezierSegment třídy se zadanou kolekcí Point objektů a hodnotou určující, zda segmenty jsou tahy. |
Pole
PointsProperty |
Identifikuje Points vlastnost závislosti. |
Vlastnosti
CanFreeze |
Získá hodnotu, která označuje, zda objekt lze změnit. (Zděděno od Freezable) |
DependencyObjectType |
Získá, DependencyObjectType který zabalí typ CLR této instance. (Zděděno od DependencyObject) |
Dispatcher |
Získá to DispatcherDispatcherObject je přidružena k. (Zděděno od DispatcherObject) |
HasAnimatedProperties |
Získá hodnotu, která označuje, zda jeden nebo více AnimationClock objektů je přidružena k některému z vlastností závislostí tohoto objektu. (Zděděno od Animatable) |
IsFrozen |
Získá hodnotu, která označuje, zda je objekt aktuálně upravitelný. (Zděděno od Freezable) |
IsSealed |
Získá hodnotu, která označuje, zda je tato instance právě zapečetěna (jen pro čtení). (Zděděno od DependencyObject) |
IsSmoothJoin |
Získá nebo nastaví hodnotu, která označuje, zda je spojení mezi tímto PathSegment a předchozím PathSegment považováno za roh při tahu pomocí Pen. (Zděděno od PathSegment) |
IsStroked |
Získá nebo nastaví hodnotu, která označuje, zda je segment tahem. (Zděděno od PathSegment) |
Points |
Získá nebo nastaví objekt PointCollection , který definuje tento PolyBezierSegment objekt. |
Metody
ApplyAnimationClock(DependencyProperty, AnimationClock) |
Použije na AnimationClock zadanou DependencyPropertyhodnotu . Pokud je vlastnost už animovaná, SnapshotAndReplace použije se chování předání. (Zděděno od Animatable) |
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Použije na AnimationClock zadanou DependencyPropertyhodnotu . Pokud je vlastnost už animovaná, použije se zadaná HandoffBehavior vlastnost. (Zděděno od Animatable) |
BeginAnimation(DependencyProperty, AnimationTimeline) |
Použije animaci na zadaný objekt DependencyProperty. Animace se spustí při vykreslení dalšího snímku. Pokud je zadaná vlastnost již animované, SnapshotAndReplace použije se chování předání. (Zděděno od Animatable) |
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) |
Použije animaci na zadaný objekt DependencyProperty. 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) |
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á má být vymazána, je určena identifikátorem DependencyProperty . (Zděděno od DependencyObject) |
ClearValue(DependencyPropertyKey) |
Vymaže místní hodnotu vlastnosti jen pro čtení. Vlastnost, která se má vymazat, je určena parametrem DependencyPropertyKey. (Zděděno od DependencyObject) |
Clone() |
Vytvoří upravitelný klon tohoto PolyBezierSegmentobjektu 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 klon (hloubkovou kopii) zadaného Freezable pomocí základních (ne animovaných) hodnot vlastností. (Zděděno od Freezable) |
CloneCurrentValue() |
Vytvoří upravitelný klon tohoto PolyBezierSegment 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 ano. |
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 dosáhne vyvoláním jakékoli CoerceValueCallback funkce zadané v metadatech vlastnosti závislosti, protože existuje ve volajícím DependencyObjectobjektu . (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 zadaný DependencyObject je ekvivalentní k aktuálnímu DependencyObject. (Zděděno od DependencyObject) |
Freeze() |
Nastaví aktuální objekt jako neupravitelný a nastaví jeho IsFrozen vlastnost na |
FreezeCore(Boolean) |
Nastaví tento Animatable objekt jako neupravitelný nebo určuje, zda jej lze změnit jako neupravitelný. (Zděděno od Animatable) |
GetAnimationBaseValue(DependencyProperty) |
Vrátí ne animovanou hodnotu zadané DependencyPropertyhodnoty . (Zděděno od Animatable) |
GetAsFrozen() |
Vytvoří zamrzlou kopii objektu Freezables použitím základních (ne animovaných) hodnot vlastností. Vzhledem k tomu, že kopie je zamrzlá, jsou všechny ukotvené dílčí objekty zkopírovány odkazem. (Zděděno od Freezable) |
GetAsFrozenCore(Freezable) |
Vytvoří instanci zamrznutý klon zadaného Freezable pomocí základních (ne animovaných) hodnot vlastností. (Zděděno od Freezable) |
GetCurrentValueAsFrozen() |
Vytvoří zamrzlou kopii objektu Freezable s použitím aktuálních hodnot vlastností. Vzhledem k tomu, že kopie je zamrzlá, jsou všechny ukotvené dílčí objekty zkopírovány odkazem. (Zděděno od Freezable) |
GetCurrentValueAsFrozenCore(Freezable) |
Vytvoří aktuální instanci zablokovaného klonu zadaného Freezableobjektu . Pokud má objekt animované vlastnosti závislostí, zkopírují se jeho aktuální animované hodnoty. (Zděděno od Freezable) |
GetHashCode() |
Získá hash kód pro tento DependencyObject. (Zděděno od DependencyObject) |
GetLocalValueEnumerator() |
Vytvoří specializovaný enumerátor pro určení vlastností závislostí, které mají místně nastavené hodnoty v tomto DependencyObjectobjektu . (Zděděno od DependencyObject) |
GetType() |
Type Získá z 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) |
InvalidateProperty(DependencyProperty) |
Znovu vyhodnotí efektivní hodnotu pro zadanou vlastnost závislosti. (Zděděno od DependencyObject) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
OnChanged() |
Volána při změně aktuálního Freezable objektu. (Zděděno od Freezable) |
OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
Zajišťuje, že jsou vytvořeny vhodné ukazatele kontextu pro DependencyObjectType datový člen, který byl právě nastaven. (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) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Přepíše implementaci DependencyObject tak, OnPropertyChanged(DependencyPropertyChangedEventArgs) aby také vyvolala všechny Changed obslužné rutiny v reakci na měnící se vlastnost závislosti 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 Freezable se k souboru přistupuje z platného vlákna. Dědíci Freezable musí tuto metodu volat na začátku jakéhokoli rozhraní API, které čte datové členy, které nejsou vlastnosti závislostí. (Zděděno od Freezable) |
SetCurrentValue(DependencyProperty, Object) |
Nastaví hodnotu vlastnosti závislosti beze změny jejího zdroje hodnoty. (Zděděno od DependencyObject) |
SetValue(DependencyProperty, Object) |
Nastaví místní hodnotu vlastnosti závislosti určenou 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 DependencyPropertyKey identifikátorem vlastnosti závislosti. (Zděděno od DependencyObject) |
ShouldSerializeProperty(DependencyProperty) |
Vrátí hodnotu, která označuje, zda serializační procesy mají serializovat hodnotu pro zadanou vlastnost závislosti. (Zděděno od DependencyObject) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
VerifyAccess() |
Vynucuje, že volající vlákno má přístup k tomuto DispatcherObject. (Zděděno od DispatcherObject) |
WritePostscript() |
Changed Vyvolá událost pro Freezable a vyvolá jeho OnChanged() metodu. Třídy odvozené z Freezable by měly tuto metodu volat 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 objekt není zamrznutý a že se k němu přistupuje z platného kontextu podprocesů. Freezable Dědiče by tuto metodu měli volat na začátku jakéhokoli rozhraní API, které zapisuje do datových členů, které nejsou vlastnosti závislostí. (Zděděno od Freezable) |
Událost
Changed |
Vyvolá se při změně objektu Freezable nebo objektu, který obsahuje. (Zděděno od Freezable) |