我正在制作一个游戏,我想部分隐藏 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);
这会将除圆(中心)之外的所有内容填充为黑色。如果您首先绘制了矩形和白色背景,那么这应该会让您接近。
关于java - Android Canvas渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29398799/