StreamGeometryContext.ArcTo メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した点に円弧を描画します。
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
true 180度を超える円弧を描画する場合。それ以外の場合は false。
- sweepDirection
- SweepDirection
円弧を Clockwise 方向または Counterclockwise 方向に描画するかどうかを示す値。
- isStroked
- Boolean
例
次の例は、 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またはストロークのないセグメントまたは未入力のセグメントが含まれている場合は、シリアル化できません。