StreamGeometryContext.PolyQuadraticBezierTo Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Dessine une ou plusieurs courbes de Bézier quadratiques.
public:
abstract void PolyQuadraticBezierTo(System::Collections::Generic::IList<System::Windows::Point> ^ points, bool isStroked, bool isSmoothJoin);
public abstract void PolyQuadraticBezierTo (System.Collections.Generic.IList<System.Windows.Point> points, bool isStroked, bool isSmoothJoin);
abstract member PolyQuadraticBezierTo : System.Collections.Generic.IList<System.Windows.Point> * bool * bool -> unit
Public MustOverride Sub PolyQuadraticBezierTo (points As IList(Of Point), isStroked As Boolean, isSmoothJoin As Boolean)
Paramètres
Collection de points qui spécifient des points de contrôle et des points de destination pour une ou plusieurs courbes de Bézier quadratiques. Le premier point dans la liste spécifie le point de contrôle de la courbe; le deuxième point spécifie le point de destination, le point suivant spécifie le point de contrôle de la courbe suivante et ainsi de suite. La liste doit contenir un nombre pair de points.
- isStroked
- Boolean
true
pour rayer le segment quand un Pen est utilisé pour restituer le segment ; sinon, false
.
- isSmoothJoin
- Boolean
true
pour traiter la jointure entre ce segment et le segment précédent comme un coin lorsqu'il est rayé d'un Pen ; sinon, false
.
Exceptions
Une tentative a été effectuée pour ajouter un segment sans commencer une figure en appelant la méthode BeginFigure(Point, Boolean, Boolean).
Exemples
L’exemple suivant montre comment dessiner plusieurs courbes quadratiques quadratiques connectées à l’aide de la PolyQuadraticBezierTo méthode.
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Shapes;
using System.Collections.Generic;
namespace SDKSample
{
public partial class StreamGeometryPolyQuadraticBezierToExample : Page
{
public StreamGeometryPolyQuadraticBezierToExample()
{
// Create a path to draw a geometry with.
Path myPath = new Path();
myPath.Stroke = Brushes.Black;
myPath.StrokeThickness = 1;
// Create a StreamGeometry to use to specify myPath.
StreamGeometry geometry = new StreamGeometry();
geometry.FillRule = FillRule.EvenOdd;
// Open a StreamGeometryContext that can be used to describe this StreamGeometry object's contents.
using (StreamGeometryContext ctx = geometry.Open())
{
// Set the begin point of the shape.
ctx.BeginFigure(new Point(10, 100), true /* is filled */, false /* is closed */);
// Create a collection of Point structures that will be used with the PolyQuadraticBezierTo
// Method to create two quadratic Bezier curves.
List<Point> pointList = new List<Point>();
// First quadratic Bezier curve is specified with these two points.
// Control point for first quadratic Bezier curve.
pointList.Add(new Point(100, 0));
// End point for first quadratic Bezier curve.
pointList.Add(new Point(200, 200));
// Second quadratic Bezier curve is specified with these two points.
// Control point for second quadratic Bezier curve.
pointList.Add(new Point(300, 300));
// End point for second quadratic Bezier curve.
pointList.Add(new Point(400, 100));
// Create a Bezier curve using the collection of Point Structures.
ctx.PolyQuadraticBezierTo(pointList, true /* is stroked */, false /* is smooth join */);
}
// Freeze the geometry (make it unmodifiable)
// for additional performance benefits.
geometry.Freeze();
// specify the shape (quadratic Benzier curve) of the path using the StreamGeometry.
myPath.Data = geometry;
// 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
Imports System.Collections.Generic
Namespace SDKSample
Partial Public Class StreamGeometryPolyQuadraticBezierToExample
Inherits Page
Public Sub New()
' Create a path to draw a geometry with.
Dim myPath As New Path()
myPath.Stroke = Brushes.Black
myPath.StrokeThickness = 1
' Create a StreamGeometry to use to specify myPath.
Dim geometry As New StreamGeometry()
geometry.FillRule = FillRule.EvenOdd
' Open a StreamGeometryContext that can be used to describe this StreamGeometry object's contents.
Using ctx As StreamGeometryContext = geometry.Open()
' Set the begin point of the shape.
ctx.BeginFigure(New Point(10, 100), True, False) ' is closed - is filled
' Create a collection of Point structures that will be used with the PolyQuadraticBezierTo
' Method to create two quadratic Bezier curves.
Dim pointList As New List(Of Point)()
' First quadratic Bezier curve is specified with these two points.
' Control point for first quadratic Bezier curve.
pointList.Add(New Point(100, 0))
' End point for first quadratic Bezier curve.
pointList.Add(New Point(200, 200))
' Second quadratic Bezier curve is specified with these two points.
' Control point for second quadratic Bezier curve.
pointList.Add(New Point(300, 300))
' End point for second quadratic Bezier curve.
pointList.Add(New Point(400, 100))
' Create a Bezier curve using the collection of Point Structures.
ctx.PolyQuadraticBezierTo(pointList, True, False) ' is smooth join - is stroked
End Using
' Freeze the geometry (make it unmodifiable)
' for additional performance benefits.
geometry.Freeze()
' specify the shape (quadratic Benzier curve) of the path using the StreamGeometry.
myPath.Data = geometry
' Add path shape to the UI.
Dim mainPanel As New StackPanel()
mainPanel.Children.Add(myPath)
Me.Content = mainPanel
End Sub
End Class
End Namespace
Remarques
Cette méthode utilise le point de terminaison du segment précédent comme point de départ. S’il s’agit du premier segment d’une figure, il utilise le point spécifié par la BeginFigure méthode comme point de départ.
Impossible StreamGeometry de sérialiser s’il contient un Transform ou n’importe quel segment non trait ou non rempli.