Android Canvas渲染

时间:2015-04-01 19:05:41

标签: java canvas rendering draw surfaceview

我正在制作游戏,我想部分隐藏SurfaceView的画布,如下所示:

从这个: 对此:

有没有办法用Canvas方法做到这一点?提前谢谢。

1 个答案:

答案 0 :(得分:1)

将此代码放在绘制画布的方法中:

            Path invertedCircle = new Path();
            int radius = (canvas.getWidth() < canvas.getHeight()) ? canvas
                    .getWidth() / 4 : canvas.getHeight() / 2;
            invertedCircle.addCircle(canvas.getWidth() / 2,
                    canvas.getHeight() / 2, radius, Direction.CW);
            invertedCircle.setFillType(FillType.INVERSE_EVEN_ODD);
            Paint p = new Paint();
            p.setColor(Color.BLACK);
            canvas.drawPath(invertedCircle, p);

除了圆圈(中间)以外,其他所有内容均为黑色。如果您先绘制了矩形和白色背景,那么这应该会让您接近。