【问题标题】:How to draw line path on top of arc using Canvas paint in Android如何在Android中使用Canvas Paint在弧顶上绘制线条路径
【发布时间】:2019-08-01 12:07:45
【问题描述】:

我正在一个 android 应用程序中工作,我需要在其中绘制这样的图表。

我已经使用油漆和画布绘制了弧线,但我不知道如何绘制线条路径以及下图中提到的文本!

对此的任何提醒都会对我很有帮助。提前致谢。

【问题讨论】:

  • 简答:canvas.drawLine() 和 canvas.drawText()。你看过这些方法吗?
  • 嗨@MDikkii 是的,我们可以使用您提到的那些方法绘制线条和文本。但是我们也需要线的角度和位置计算。
  • 需要这样的解决方案stackoverflow.com/questions/35909748/…

标签: java android canvas paint mpandroidchart


【解决方案1】:

为了真正保持直线的方向,您必须使用许多三角函数和微积分。但是,对于这种情况,您可以使用canvas.rotate() 来解决棘手的问题。对于解决方案,首先根据值计算线的角度。例如,假设你的圆弧代表总值200。左边是0,右边是200,那么你得到的值是80。有了这些值,你可以计算出180度*(80f)/( 200 - 0) 它给出 72 度。然后您可以旋转画布进行绘图canvas.rotate(70f,centerX,centerY)。 CenterX 和 CenterY 是圆弧中心点的值。之后,您可以在画布canvas.drawLine(0,100,20,100,paint) 的左下角绘制线条时绘制线条。

canvas.save()
canvas.rotate(70f,centerX,centerY)
canvas.drawLine(0,100,20,100,paint)
canvas.restore()

【讨论】:

  • 需要这样的解决方案stackoverflow.com/questions/35909748/…
  • 这是我在这个主题上找到的最简单、最聪明的解决方案,我喜欢它。当您可以旋转画布时,为什么还要旋转线条。天才。
猜你喜欢
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多