我想绘制这样的路径并填写它:
如果原点是带有(x,y)坐标的红点。我应该在下面的三点中写下这条路径。我已经尝试了很多,但无法弄清楚arcTo是如何工作的。
path.moveTo(x, y);
path.arcTo(...);
path.arcTo(...);
canvas.drawPath(path, paint);
答案 0 :(得分:6)
ArcTo绘制矩形中的圆弧,从起始角度到角度+扫掠角度。其余的都是纯粹的几何形状。
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.rgb(255, 139, 40));
float x = 500, y = 500, r = 500, angle = 50;
Path path = new Path();
path.arcTo(new RectF(x, y-r, x+2*r, y+r),180,angle);
path.lineTo((float) (x - r * (1 - Math.cos(Math.toRadians(angle)))), (float) (y - r * Math.sin(Math.toRadians(angle))));
path.arcTo(new RectF(x - 2 * r, y - r, x, y + r), -angle, angle);
path.close();
canvas.drawPath(path,paint);