【问题标题】:how can I draw a portion of an ellipse?如何绘制椭圆的一部分?
【发布时间】:2016-02-29 15:44:34
【问题描述】:

我正在开发一个“通用 Windows”项目,我需要在其中绘制椭圆的一部分。实际上我需要两种类型的弧:

  1. 从 P1 点顺时针方向到 P2 点的 180° 圆弧,其中 P1 和 P2 都位于椭圆的 X 轴上:这是椭圆长轴一侧的半椭圆

  2. 从点 P1 到点 P2 顺时针方向的 90° 弧:这是椭圆的四分之一,其中 P1 在 X 轴上,P2 在 Y 轴上(反之亦然)

由于System.Windows.Media.ArcSegment在这个环境下不可用,请问这两种椭圆弧怎么画?

【问题讨论】:

  • System.Drawing.Graphics.DrawArc ?
  • 否:“命名空间‘System’中不存在类型或命名空间名称‘Drawing’(您是否缺少程序集引用?)”并且我无法添加此引用...跨度>
  • 使用 Windows.UI.Xaml.Media.ArcSegment
  • @HansPassant 谢谢汉斯。这是正确的参考。

标签: c# drawing win-universal-app ellipse


【解决方案1】:

ArcSegment 是您正在寻找的。通常你会在现实生活中的应用程序中使用Path.Data Geometry 迷你语言。检查语法here。下面Data中的圆弧部分以“a”开头。

一个大小的rotationAngle isLargeArcFlag sweepDirectionFlag endPoint

<Grid>
    <Path
        Stroke="Black"
        StrokeThickness="2"
        Fill="Gray"
        Width="202"
        Height="102"
        Stretch="None"
        Data="m101,51 l-100,0 a100,50 180 1 1 200,0" />
    <Path
        Stroke="Red"
        StrokeThickness="2"
        Fill="MistyRose"
        Width="202"
        Height="102"
        Stretch="None"
        Data="m201,51 a100,50 180 0 1 -100,50 l0,-50" />
</Grid>

【讨论】:

    猜你喜欢
    • 2020-02-03
    • 2013-03-31
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    相关资源
    最近更新 更多