我需要在 android 中绘制不同厚度的圆弧,如下图所示,
有没有可能画一个圆弧然后剪下来?由于弧可以在任何度数之间(startDegree 到 endDegree),我无法通过路径实现这一点。
所以我的需求是这样的,
请帮助我实现上述目标。
最佳答案
我认为,您可以使用 Path 来做到这一点
你的圆弧有这样的边:
- 水平直线
- 上弧
- 垂直直线
- 降低弧度
因此,您需要进行一些数学运算来计算这些坐标和参数。
更新:
请看一下 this question
好像我在那里找到了这条曲线的确切公式。
更新 2:
关于如何在 Canvas 上绘制螺旋,我认为不是很糟糕的解决方案是像here那样做(那里使用了 javascript,但没关系——想法是一样的)。
唯一的事情:需要在笛卡尔坐标系中编写螺旋方程。尝试自己做。如果你失败了,那就问我。
更新 3: 检查上述问题的 UPD2 部分以找到笛卡尔坐标系参数化。 可能有错误,我没有自己查,但是思路应该很清楚。
希望对您有所帮助。
关于android - 如何绘制不同粗细的圆弧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26337772/