我想在 android canvas 上绘制类似于这种形状的东西:
我认为最好的方法是将这个形状定义为 2 个圆和一条线的交集。用 android canvas 创建这个的正确方法是什么?
更新 我现在按照 smith324 的建议使用 PorterDuff:
*注意:为清楚起见,代码略微简化。
darkPaint = new Paint();
darkPaint.setColor(Color.rgb(50, 50, 50));
lightPaint = new Paint();
lightPaint.setColor(Color.rgb(200, 200, 200));
atopPaint= new Paint(GameDrawingPanel.darkPaint.getColor());
atopPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_ATOP));
atopPaint.setAntiAlias(true);
atopPaint.setStrokeWidth(2);
_boardCanvas.drawCircle(x, y, radius, darkPaint);
_boardCanvas.drawCircle(x, y, radius_small, lightPaint);
_boardCanvas.drawRect(0,0,height,width,atopPaint);