Architect's Log

I'm a Cloud Architect. I'm highly motivated to reduce toils with driving DevOps.

楕円を指定された点まで描画する

アプリ実行


ソースコード

App.xaml
<Application x:Class="HelloWorld.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
</Application>
MainWindow.xaml
<Window x:Class="HelloWorld.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="200" Width="250">
    <Path Width="200" Height="200" Stroke="Red" StrokeThickness="2">
        <Path.Data>
            <PathGeometry>
                <PathGeometry.Figures>
                    <PathFigure StartPoint="5, 5" IsClosed="True">
                        <!-- 反時計回りの楕円 -->
                        <ArcSegment
                            Point="50, 130" 
                            Size="65, 55" 
                            SweepDirection="Counterclockwise" />
                    </PathFigure>
                </PathGeometry.Figures>
            </PathGeometry>
        </Path.Data>
    </Path>
</Window>

参考

ArcSegment.IsLargeArc プロパティ (System.Windows.Media)
円弧が 180゜を超える必要があるかどうかを示す値を取得または設定します。

ArcSegment.SweepDirection プロパティ (System.Windows.Media)
円弧が Clockwise または Counterclockwise のどちらの方向で描画されるかを指定する値を取得または設定します。