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

true180도보다 큰 호를 그리려면 그렇지 않으면 . false

sweepDirection
SweepDirection

호가 방향에 그려 ClockwiseCounterclockwise 지는지 여부를 나타내는 값입니다.

isStroked
Boolean

true 세그먼트를 렌더링하는 데 사용할 때 세그먼트가 Pen 스트로크되도록 하려면 .이고, false그렇지 않으면 .

isSmoothJoin
Boolean

true 를 사용하여 스트로크 Pen할 때 이 세그먼트와 이전 세그먼트 사이의 조인을 모서리로 처리합니다. 그렇지 않으면 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 점을 시작점으로 사용합니다.

스트로크 StreamGeometry 되지 않거나 채워지지 않은 세그먼트가 포함된 Transform 경우 A를 serialize할 수 없습니다.

적용 대상

추가 정보