在 Android 中使用 arcTo 创建凹路径
Creating a concave path with arcTo in Android
我想画这样一条路径并填充它:
如果原点是坐标为(x,y)的红点。我应该在下面的三重点中写什么来绘制这条路径。我已经尝试了很多,但无法弄清楚 arcTo 是如何工作的。
path.moveTo(x, y);
path.arcTo(...);
path.arcTo(...);
canvas.drawPath(path, paint);
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);
我想画这样一条路径并填充它:
如果原点是坐标为(x,y)的红点。我应该在下面的三重点中写什么来绘制这条路径。我已经尝试了很多,但无法弄清楚 arcTo 是如何工作的。
path.moveTo(x, y);
path.arcTo(...);
path.arcTo(...);
canvas.drawPath(path, paint);
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);