다음을 통해 공유


StreamGeometryContext.ArcTo 메서드

정의

지정한 점에 호를 그립니다.

public:
 abstract void ArcTo(System::Windows::Point point, System::Windows::Size size, double rotationAngle, bool isLargeArc, System::Windows::Media::SweepDirection sweepDirection, bool isStroked, bool isSmoothJoin);
public abstract void ArcTo (System.Windows.Point point, System.Windows.Size size, double rotationAngle, bool isLargeArc, System.Windows.Media.SweepDirection sweepDirection, bool isStroked, bool isSmoothJoin);
abstract member ArcTo : System.Windows.Point * System.Windows.Size * double * bool * System.Windows.Media.SweepDirection * bool * bool -> unit
Public MustOverride Sub ArcTo (point As Point, size As Size, rotationAngle As Double, isLargeArc As Boolean, sweepDirection As SweepDirection, isStroked As Boolean, isSmoothJoin As Boolean)

매개 변수

point
Point

호의 끝에 대한 대상 점입니다.

size
Size

반지름은 각을 그리는 데 사용되는 타원의 너비와 높이의 절반입니다. 타원형이 사방으로 매우 둥근 경우 호가 거의 평평하면 호가 둥글게 됩니다. 예를 들어 매우 큰 너비와 높이는 매우 큰 타원을 나타내며 각도에 약간의 곡률을 제공합니다.

rotationAngle
Double

곡선을 지정하는 타원의 회전 각도입니다. 이 매개 변수를 사용하여 호의 곡률을 회전할 수 있습니다.

isLargeArc
Boolean

180도보다 큰 호를 그리려면 true이고, 그렇지 않으면 false입니다.

sweepDirection
SweepDirection

호를 Clockwise 또는 Counterclockwise 방향으로 그리는지 여부를 나타내는 값입니다.

isStroked
Boolean

세그먼트를 렌더링하기 위해 Pen을 사용할 때 세그먼트에 스트로크를 설정하려면 true이고, 그렇지 않으면 false입니다.

isSmoothJoin
Boolean

Pen을 사용하여 스트로크를 설정할 때 이 세그먼트와 이전 세그먼트 간의 연결을 모퉁이로 처리하려면 true이고, 그렇지 않으면 false입니다.

예제

다음 예제를 사용 하 여 원호를 그리는 방법을 보여 줍니다는 ArcTo 메서드.

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

namespace SDKSample
{
    public partial class StreamGeometryArcToExample : Page
    {
        public StreamGeometryArcToExample()
        {
            // 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 an arc. Draw the arc from the begin point to 200,100 with the specified parameters.
                ctx.ArcTo(new Point(200, 100), new Size(100, 50), 45 /* rotation angle */, true /* is large arc */, 
                          SweepDirection.Counterclockwise, true /* is stroked */, false /* is smooth join */);
            }

            // Freeze the geometry (make it unmodifiable)
            // for additional performance benefits.
            geometry.Freeze();
            
            // specify the shape (arc) 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 StreamGeometryArcToExample
        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 an arc. Draw the arc from the begin point to 200,100 with the specified parameters.
                ctx.ArcTo(New Point(200, 100), New Size(100, 50), 45, True, SweepDirection.Counterclockwise, True, False) ' is smooth join  -  is stroked  -  is large arc  -  rotation angle 

            End Using

            ' Freeze the geometry (make it unmodifiable)
            ' for additional performance benefits.
            geometry.Freeze()

            ' specify the shape (arc) 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 스트로크 되지 않은 모든 또는 채워지지 않은 세그먼트입니다.

적용 대상

추가 정보