Android的填充路径是错误的

时间:2015-06-25 09:24:38

标签: android canvas bitmap path

我有一条弧形系列的路径,顺时针方向是第一个圆弧,下一个圆弧 逆时针等等......最后一个弧以圆圈方式连接第一个弧。

像这样:

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

当我使用填充时,它仅填充每个圆圈的大约一半,就像我在每个圆圈的起点和终点之间划线。填充的部分位于每个弧的内部。

我想要的是填充由这个弧组成的这个形状的内部。我错过了一些参考吗?

一些代码:

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);

1 个答案:

答案 0 :(得分:1)

尝试使用

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

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