StreamGeometryContext.QuadraticBezierTo メソッド

定義

2 次ベジエ曲線を描画します。

public:
 abstract void QuadraticBezierTo(System::Windows::Point point1, System::Windows::Point point2, bool isStroked, bool isSmoothJoin);
public abstract void QuadraticBezierTo(System.Windows.Point point1, System.Windows.Point point2, bool isStroked, bool isSmoothJoin);
abstract member QuadraticBezierTo : System.Windows.Point * System.Windows.Point * bool * bool -> unit
Public MustOverride Sub QuadraticBezierTo (point1 As Point, point2 As Point, isStroked As Boolean, isSmoothJoin As Boolean)

パラメーター

point1
Point

曲線の形状を指定するために使用するコントロール ポイント。

point2
Point

曲線の終点の終点。

isStroked
Boolean

を使用してセグメントをレンダリングするときにセグメントをストロークさせる場合は a0/&。それ以外の場合は a0/&。

isSmoothJoin
Boolean

true このセグメントと前のセグメントの間の結合を、 Penでストロークしたときにコーナーとして扱う場合は。それ以外の場合は false

例外

BeginFigure(Point, Boolean, Boolean) メソッドを呼び出して、図形を開始せずにセグメントを追加しようとしました。

次の例は、 QuadraticBezierTo メソッドを使用して 2 次ベジエ曲線を描画する方法を示しています。

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Shapes;

namespace SDKSample
{
    public partial class StreamGeometryQuadraticBezierToExample : Page
    {
        public StreamGeometryQuadraticBezierToExample()
        {
            // 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();

            // 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 Quadratic Bezier curve using the 2 specifed points. The first point
                // specifies the control point while the second point specifies the end point 
                // of the curve.
                ctx.QuadraticBezierTo(new Point(100, 0), new Point(200, 200), true /* is stroked */, 
                                      false /* is smooth join */);
            }

            // Freeze the geometry (make it unmodifiable)
            // for additional performance benefits.
            geometry.Freeze();
            
            // specify the shape (quadratic Bezier 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

Namespace SDKSample
    Partial Public Class StreamGeometryQuadraticBezierToExample
        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()

            ' 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 Quadratic Bezier curve using the 2 specifed points. The first point
                ' specifies the control point while the second point specifies the end point 
                ' of the curve.
                ctx.QuadraticBezierTo(New Point(100, 0), New Point(200, 200), 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 Bezier 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

注釈

2 つの制御点を使用する 3 次ベジエ曲線とは異なり、2 次 3 次ベジエ曲線では単一の制御点が使用されます。

このメソッドは、前のセグメントの終点を開始点として使用します。 図の最初のセグメントの場合は、 BeginFigure メソッドで指定された点を始点として使用します。

StreamGeometryTransformまたはストロークのないセグメントまたは未入力のセグメントが含まれている場合は、シリアル化できません。

適用対象

こちらもご覧ください