我有一个Canvas
对象,在某些时候我设置了一个剪辑,这样我就可以画出那个'窗口/部分'不用担心溢出到画布的其他部分。
在我完成了进入“窗口”的过程后。我想删除那个我似乎无法做的剪辑区域。
没有删除剪辑功能,当我尝试在整个画布上应用新剪辑时,未应用该剪辑 - 应用新剪辑后立即调用canvas.getClipBounds()
返回Rect
上一个剪辑。
答案 0 :(得分:21)
在设置剪辑rect然后canvas.save()
之前使用canvas.restore()
以丢弃裁剪矩形。
答案 1 :(得分:1)
你必须使用'clipRect(Rect rect,Region.Op op)'和op Union,所以它会添加。在指定添加操作之前,它会裁剪得越来越多。这是一种布尔交叉。用所有表面设置联合。此外,您可以在裁剪,裁剪,绘制和恢复之前使canvas.save()再次具有完整的剪辑边界。
BTW,请注意clipRect的javadoc指定剪辑将应用于当前剪辑,因此它是AND操作,与两个路径相交