【问题标题】:Draw a curved line in c# in a Metro app在 Metro 应用程序中用 C# 绘制曲线
【发布时间】:2012-11-09 07:40:43
【问题描述】:

在我的带有 c# 和 XAML 的 Metro 应用程序中,我有一些我想要绘制的基本点。我可以从start(x,y) 指向目的地point(x1, y1) 绘制。但是画的线是直的,但我的要求是画曲线。像弯曲了某个角度,但我没有做到这一点。

谁能帮我画一条曲线?

【问题讨论】:

  • 贝塞尔曲线怎么样?
  • 感谢您的回复,我不能使用贝塞尔曲线,因为它需要形成具有特定点的路径,但是我有数百个不同的绘图字符,这些字符没有在线上的每个点。 ....所以我想让它变得简单,这样我就可以创建一条只有起点和终点以及一个角度的线。

标签: c# microsoft-metro line curve windows-store-apps


【解决方案1】:

不完全是您在 cmets 中提到的两个点和一个角度,但 ArcSegment 非常接近。

它在两个给定点之间绘制圆/椭圆的一部分,其中曲线受您可以提供的半径、旋转和方向值的影响。

这不是完整的 XAML(您也可以在代码中执行此操作),而是本质:

<PathFigure StartPoint="200,200">
    <PathFigure.Segments>
        <PathSegmentCollection>
            <ArcSegment SweepDirection="Clockwise" Size="100,50" Point="400,200" />
        </PathSegmentCollection>
    </PathFigure.Segments>
</PathFigure>

非常更易于直观理解,因此请向下滚动到 ArcSegment documentation 中的图表以查看示例。

如果您对 ArcSegment 的详细信息感到好奇,Charles Petzold 有一篇有趣的帖子:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-14
    • 2022-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-10
    • 1970-01-01
    相关资源
    最近更新 更多