我的路径是一系列弧,顺时针为第一弧,下一弧为弧
是逆时针方向,依此类推。...最后一个弧以圆圈的方式加入第一个弧。

像这样的东西:











但是,在圆弧中,每个弧都与下一个弧完美接触。

当我使用填充时,它仅填充每个圆的一半,就像我在每个圆的起点和终点之间画一条线一样。填充部分在每个圆弧内部。

我想要的是填充由所有弧线组成的此形状的内部。我想念一些参数吗?

一些代码:

Path path = new Path();

// for simplicity let's say i have a couple of
path.addArc(rect, (float)startingAngle, sweepAngle);

Paint paintPath = new Paint();
paintPath.setColor(0xFFFFFFFF);
paintPath.setStyle(Paint.Style.FILL);

Bitmap tempBitmap = Bitmap.createBitmap(this.getMeasuredWidth(), this.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(tempBitmap);
canvas.drawPath(path, paintPath);


canvas.drawBitmap(tempBitmap, 0, 0, paintPath);

imageViewackground.setImageBitmap(tempBitmap);

最佳答案

尝试使用

path.arcTo(rect, (float)startingAngle, sweepAngle);


要么

path.arcTo(rect, (float)startingAngle, sweepAngle,true);

10-08 18:29