【问题标题】:How can I draw a circle sector by a given percentage in WPF?如何在 WPF 中按给定百分比绘制圆形扇区?
【发布时间】:2020-03-05 19:58:00
【问题描述】:

我正在尝试按给定的百分比画一个圆圈。例如,如果给定值 50,我会画一个半圆。我尝试了this question 的第一个解决方案。

<Path Fill="Yellow"
            Data="M0,0 L0,-100 A100,100 0 0 1 70.7,-70.7 z" />

这对我不起作用,并在设计器中显示:

我该如何修改第一个解决方案,或者有更好的解决方案来为我的案例绘制一个圆的扇区?

【问题讨论】:

    标签: c# wpf


    【解决方案1】:

    这可行,但您必须计算 70.7 值,并通过绑定将它们传递给您的 XAML。

    要将角度转换为 x 和 y 坐标,您需要 Math.SinMath.Cos 函数,它们以弧度表示角度。您可以通过乘以 2*PI 除以 100% 将百分比转换为弧度角度,可以这样组合:

    var x = Math.Cos(myAngle * Math.Pi / 50)
    var y = Math.Sin(myAngle * Math.Pi / 50)
    

    【讨论】:

    • 如果我理解正确,正 70.7 是 x,负 70.7 是 y?
    • 为什么该扇区显示在设计器之外(内部问题的图像),我该如何解决这个问题?
    • Path 中,M 表示起点,因此将起点向中心移动(例如M200,200
    • 'L0, -100' 是一条在水平方向 0 像素和向下 -100 像素(即从窗口顶部向上 100 像素)绘制一条线的指令。坐标从左上角开始,因此负 y 值在窗口顶部上方(或在起点上方,对于相对值)
    猜你喜欢
    • 2022-01-09
    • 2014-02-07
    • 2011-10-08
    • 2015-07-29
    • 2011-09-07
    • 2016-08-03
    • 1970-01-01
    • 2014-11-20
    • 1970-01-01
    相关资源
    最近更新 更多