Android Canvas 渲染
Android Canvas rendering
我正在制作游戏,我想像这样部分隐藏 SurfaceView 的 canvas:
来自这里:
对此:
有什么方法可以用 Canvas 方法做到这一点吗?提前致谢。
将此代码放在 canvas 上绘制的方法中:
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);
这会用黑色填充除圆圈(位于中心)以外的所有内容。如果您先绘制了矩形和白色背景,那么这应该会让您接近。
我正在制作游戏,我想像这样部分隐藏 SurfaceView 的 canvas:
来自这里:
有什么方法可以用 Canvas 方法做到这一点吗?提前致谢。
将此代码放在 canvas 上绘制的方法中:
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);
这会用黑色填充除圆圈(位于中心)以外的所有内容。如果您先绘制了矩形和白色背景,那么这应该会让您接近。