Taal

StreamGeometryContext.ArcTo Methode

Definitie

Hiermee tekent u een boog naar het opgegeven punt.

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)

Parameters

point
Point

Het doelpunt voor het einde van de boog.

size
Size

De radii (halve breedte en halve hoogte) van een ovaal waarvan de omtrek wordt gebruikt om de hoek te tekenen. Als het ovaal in alle richtingen zeer afgerond is, wordt de boog afgerond, als het bijna vlak is, dus de boog. Een zeer grote breedte en hoogte vertegenwoordigt bijvoorbeeld een zeer groot ovaal, wat een lichte kromming voor de hoek zou geven.

rotationAngle
Double

De draaihoek van het ovaal dat de curve aangeeft. De kromming van de boog kan worden gedraaid met deze parameter.

isLargeArc
Boolean

true om de boog groter dan 180 graden te tekenen; anders, false.

sweepDirection
SweepDirection

Een waarde die aangeeft of de boog in de Clockwise of Counterclockwise richting wordt getekend.

isStroked
Boolean

trueom het segment te laten stroken wanneer een Pen wordt gebruikt om het segment weer te geven; anders. false

isSmoothJoin
Boolean

true om de samenvoeging tussen dit segment en het vorige segment te behandelen als een hoek wanneer deze met een Pen; anders wordt falsegestreken.

Voorbeelden

In het volgende voorbeeld ziet u hoe u een boog tekent met behulp van de ArcTo methode.

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

Opmerkingen

Deze methode gebruikt het eindpunt van het vorige segment als uitgangspunt. Als dit het eerste segment in een afbeelding is, wordt het punt gebruikt dat door de BeginFigure methode is opgegeven als beginpunt.

Een StreamGeometry kan niet worden geserialiseerd als deze een Transform of meer niet-gestreken of niet-gevulde segmenten bevat.

Van toepassing op

Zie ook