StreamGeometryContext.PolyQuadraticBezierTo 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
하나 이상의 연결된 정방형 3차원 곡선을 그립니다.
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)
매개 변수
하나 이상의 정방형 3차원 곡선에 대한 제어점과 대상 점을 지정하는 점의 컬렉션입니다. 목록의 첫 번째 점이 곡선의 제어점을 지정하고, 다음 점이 대상 점을 지정하고, 그 다음 점이 다음 곡선의 제어점을 지정하는 방식으로 점이 지정됩니다. 목록에 포함된 점 수는 짝수여야 합니다.
- isSmoothJoin
- Boolean
Pen을 사용하여 스트로크를 설정할 때 이 세그먼트와 이전 세그먼트 간의 연결을 모퉁이로 처리하려면 true
이고, 그렇지 않으면 false
입니다.
예외
BeginFigure(Point, Boolean, Boolean) 메서드를 호출하여 그림을 시작하지 않고 세그먼트를 추가하려고 시도한 경우
예제
다음 예제를 사용 하 여 여러 연결 된 정방형 3 차원 곡선을 그리는 방법을 보여 줍니다는 PolyQuadraticBezierTo 메서드.
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
설명
이 메서드는 시작 지점으로 이전 세그먼트의 끝점을 사용 합니다. 이 그림에서 첫 번째 세그먼트를 통해 지정한 점을 사용 합니다 BeginFigure 메서드 시작 지점으로 합니다.
A StreamGeometry 포함 된 경우 직렬화 할 수 없습니다는 Transform 스트로크 되지 않은 모든 또는 채워지지 않은 세그먼트입니다.