drawArc 绘制弧形,怎么计算圆心和半径?

Android · harkben · 于 发布 · 最后由 harkben回复 · 450 次阅读
96

简单绘制一个环形进度条,包含圆环进度条,和半圆进度条。
这里就要用到drawArc绘制弧形。
但是在确定弧形 圆心点和半径时一直推敲不出计算公式来,卡一下午了好捉急。
在ReactF中的四个参数L,T,R,B是坐标,那我想直接使用view本身的坐标。
先来绘制一个矩形边框好了,居然不对,超出了View绘制区域。

代码如下

 RectF rectF = new RectF();
        //确定位置
        rectF.left =  getLeft();
        rectF.top = getTop();
        rectF.right = getRight();
        rectF.bottom = getBottom();
        L.printD("left="+rectF.left);
        L.printD("right="+rectF.right);
        L.printD("top="+rectF.top);
        L.printD("bottom="+rectF.bottom);
        canvas.drawArc(rectF,0,90,true,rectFPaint);
        rectFPaint.setColor(Color.YELLOW);
        canvas.drawRect(rectF,rectFPaint);

效果图
效果图

  • 问题:

1.如何计算ReactF矩形绘制的坐标?

2.如何计算弧形的圆心?

3.如何计算弧形的半径?


真诚期待您的帮助。

共收到 2 条回复
96
harkben · #1 ·

目前已经清楚了。
绘制的弧形的外边框RectF的 起止点是 view 顶部 坐标 0 ~ getMeasureHeight / 0 ~ getMeaseureWidth
并不通过getTop等四个坐标定位

2楼 Deleted
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册