java - 如何在Android中使用Canvas Paint在弧顶上绘制线条路径
问题描述
我正在一个 android 应用程序中工作,我需要在其中绘制这样的图表。
我已经使用油漆和画布绘制了弧线,但我不知道如何绘制线条路径以及下图中提到的文本!
对此的任何提醒都会对我很有帮助。提前致谢。
解决方案
为了真正保持线的方向,您必须使用许多三角函数和微积分。但是,对于这种情况,您可以使用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()
推荐阅读
- c++ - 媒体上的 libavcodec 完全在内存中
- r - 使用参数运行 RMarkdown?
- python - Django 将远程文件分配给 FileField 而无需下载和重新上传
- amazon-web-services - AWS DynamoDB BatchWriteItem - 写入容量单位
- javascript - 如何使用 Javascript 启用禁用多个 DOM 元素
- java - 强制 maven 在 OpenDaylight 中使用来自 Yang 的旧编译 java 类
- amazon-s3 - 使用压缩文件公开过期 URL
- ios - 在 iOS 中显示弹出框时如何避免按钮色调颜色变化?
- vba - 使用按日期排序函数对多个数组进行排序
- google-chrome - 无法访问 RangeRequest 上的 arrayBuffer