gpt4 book ai didi

android - 如何在 Canvas 上的两点之间绘制弧线?

转载 作者:IT王子 更新时间:2023-10-28 23:52:27 25 4
gpt4 key购买 nike

我在 Canvas 上有两个点,现在我可以使用如下图在这些点之间画一条线

这段代码canvas.drawLine(p1.x, p1.y, p2.x, p2.y, paint); enter image description here

我想在两点之间画圆弧,如下图所示。

enter image description here

我怎么能画成这样。

最佳答案

最后我从这段代码中得到了解决方案:

float radius = 20;
final RectF oval = new RectF();
oval.set(point1.x - radius, point1.y - radius, point1.x + radius, point1.y+ radius);
Path myPath = new Path();
myPath.arcTo(oval, startAngle, -(float) sweepAngle, true);

要计算 startAngle,请使用以下代码:

int startAngle = (int) (180 / Math.PI * Math.atan2(point.y - point1.y, point.x - point1.x));

这里,point1 表示您要开始绘制圆弧的位置。 sweepAngle 表示两条线之间的角度。我们必须使用两个点来计算,比如我的问题图像中的蓝点。

关于android - 如何在 Canvas 上的两点之间绘制弧线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11131954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com