読者です 読者をやめる 読者になる 読者になる

プログラマーな日々

プログラマー兼SEです。好きなツール:WorkFlowy、好きな言語:C#、好きなAWSのサービス:EMR。

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

.NET WPF

アプリ実行


ソースコード

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 のどちらの方向で描画されるかを指定する値を取得または設定します。