如何在Android的画布上抗锯齿剪辑边界?

6 浏览
0 Comments

如何在Android的画布上抗锯齿剪辑边界?

我正在使用Android的android.graphics.Canvas绘制一个环。我的onDraw方法通过剪切画布来为内部圆形留下一个孔,并在孔上绘制完整的外部圆形:

    clip = new Path();
    clip.addRect(outerCircle, Path.Direction.CW);
    clip.addOval(innerCircle, Path.Direction.CCW);
    canvas.save();
    canvas.clipPath(clip);
    canvas.drawOval(outerCircle, lightGrey);
    canvas.restore();

结果是一个拥有漂亮的抗锯齿外边缘和锯齿状丑陋内边缘的环:

aliased

我该如何使内边缘抗锯齿?

我不想通过在中间绘制一个灰色圆来作弊,因为对话框有些透明。(这种透明度在其他背景上并不那么微妙。)

0