作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何像这样在圆弧末端画一条线?
这是我当前用来绘制圆弧的代码
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
setMeasuredDimension(widthMeasureSpec, heightMeasureSpec);
canvasWidth = MeasureSpec.getSize(widthMeasureSpec);
canvasHeight = MeasureSpec.getSize(heightMeasureSpec);
padding = strokeWidth * 0.9f;
arcAngle = 360 * 0.8f;
rectF.set(padding, padding, canvasWidth - padding, canvasHeight - padding);
arcRadius = (canvasWidth - padding) / 2f;
arcBottomHeight = arcRadius * (float) (1 - Math.cos(angle / 180 * Math.PI));
}
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
float startAngle = 270 - arcAngle / 2f;
float finishedSweepAngle = progress / (float) getMax() * arcAngle;
float finishedStartAngle = startAngle;
canvas.drawArc(rectF, startAngle, arcAngle, false, unfinishedPaint);
canvas.drawArc(rectF, finishedStartAngle, finishedSweepAngle, false, finishedPaint);
}
这会在彼此之上绘制 2 条弧线,其中彩色弧线 (finishedPaint) 代表进度。
我想使用canvas.drawLine()在圆弧末端绘制线条,但不确定如何获取坐标来指定线条的起点和终点坐标。
最佳答案
使用三角函数。您知道圆弧的半径及其结束角度。 x 为radius*sin(endangle)+xcenter
,y 为radius*cos(endangle)+ycenter
。然后以与所在位置相同的角度画线。
关于java - 如何在圆弧的末端画一条线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55504464/
如何迭代(一行)分割函数给我的每个类? 我试过这个: 编辑(抱歉) $("p").attr("class").split(' ').each (function (i,n){alert(n)}
我有一条垂直线和一条水平线,当我动态调整我的 Canvas 父级时,我想调整它们的大小。 (地标) 我希望水平线始终距 Canvas 的左右边界 25 处,距底部边界 13 处。 垂直线也是如此,距上
我有一个 y 变量,我试图在图形的顶部和底部针对两个相关的 x 轴绘制它(例如 y="立方体中的事物数",x1="立方体的边长", x2="立方体的体积")。我在 numpy 数组中有 y、x1、x2
我想画一条简单的水平线,并在这条线 flex 的地方制作动画。我有这个动画的视频。你能给我一些建议如何开始以及我必须使用哪个 js/css 吗? 都是关于矩形底部的线: http://www.stop
我是一名优秀的程序员,十分优秀!