我有一个Canvas对象,在某个时候,我设置了一个剪辑,这样就可以在画布的其他部分进行绘制,而不必担心溢出。
当我画完“窗口”后,我想移除那个剪辑区域,这是我似乎做不到的。
没有删除剪辑功能,当我尝试在整个画布上应用一个新剪辑时,该剪辑不会被应用--在应用新剪辑后立即调用canvas.getClipBounds()返回一个带有前一个剪辑的Rect。
发布于 2017-04-19 00:16:33
在设置剪辑前使用canvas.save(),然后使用canvas.restore()丢弃剪贴画。
发布于 2015-03-17 14:33:31
您必须在op Union中使用'clipRect (Rect rect,Region.Op op)‘,这样它就会添加。在指定add操作之前,它将越来越多地进行裁剪。这是一种布尔相交。设置与所有表面的结合。此外,您还可以在裁剪、裁剪、绘制和恢复之前使用canvas.save()来重新获得完整的剪辑边界。
顺便说一下,请注意clipRect的javadoc指定剪辑将应用于当前的剪辑,因此它是一个和一个操作,将两条路径交叉在一起。
https://stackoverflow.com/questions/29100772
复制相似问题