剪裁区域类实例讲解

作者:创世魂

 

● 本类说明

 

简单来说,设置“剪裁区域”后,“绘制内容”时会将“剪裁区域外”的内容剪裁掉。

注意:本类位于“安卓基本类”模块中,必须添加此模块才能使用。

 

 

● 从矩形创建

 

帮助文档如下图:

本方法简单来说,就是通过四个参数的坐标位置,设置一个矩形剪裁区域。

绘制内容时,只能在这个区域内进行绘制。

本方法已经在“置入剪裁区域”中使用过,可点击跳转过去参考代码。

 

 

● 从矩形创建2

 

帮助文档如下图:

本方法和“从矩形创建”不同之处在于,本方法只有一个“矩形类”参数。

需要定义一个“矩形类”变量,设置“上下左右”四个属性来指定矩形区域。

“矩形类”的用法在本教程中多次使用,此处不再讲解使用方法。

 

 

● 复制

 

帮助文档如下图:

就是将“参数2”剪裁区域的内容赋值给“参数1”

这样“参数1”就拥有了“参数2”所有的内容。

 

代码编写演示:

如图所示的编写代码,“剪裁区域2”就会拥有“剪裁区域1”创建的矩形。

 

 

● 复制创建

 

帮助文档如下图:

简单来说,就是将“参数1”的对象复制一份并返回。

“返回值”将会拥有“参数1”创建的剪裁区域。

可以通过“画板类.置入剪裁区域”方法调用本返回值,实现剪裁区域的应用。

 

 

● 加入矩形区域

 

帮助文档如下图:

简单来说就是将“矩形类”“当前剪裁区域”进行合并。

返回结果为逻辑型,判断“是否不为”空。

 

代码编写如下图:

定义“剪裁区域类”变量,设置参考。

定义“矩形类”变量,分别设置“上下左右”四个属性。

随后创建一个矩形剪裁区域,赋值给“剪裁区域1”变量。

然后调用“剪裁区域类.加入矩形区域”方法,将“剪裁区域1”“矩形”两个变量分别写入参数内。

最后还需要调用“画板对象.置入剪裁区域”方法,将剪裁区域应用到画板上,最后填充颜色做演示。

 

运行效果如下图:

可以看到一次性出现两个黄色矩形,证明合并成功。

 

 

● 矩形包含测试

 

帮助文档如下图:

简单来说就是根据指定的坐标,判断“坐标”形成的“矩形”是否完全在“剪裁矩形”内。

如果“矩形”完全在“剪裁矩形”内,则返回“真”,如果没有则返回“假”

 

代码演示:

当前代码的执行结果必然为“包含”

如果说修改“矩形包含测试”后两个参数,任意一个大于100,则必然会返回“不包含”

因为我们定义的“剪裁矩形”高度和宽度就是100,如果超过了这个数值,自然就不包含了。

 

 

● 矩形包含测试2

 

帮助文档如下图:

本方法与“矩形包含测试”不同之处在于,本方法判断是的是“矩形类”

通过“矩形类”“上下左右”四个参数可以进行指定一个矩形。

本教程中多次用到了“矩形类”,此处不在详细说明。

 

 

● 矩形不相交测试

 

帮助文档如下图:

顾名思义,就是用来判断指定的“矩形”是否与“剪裁区域”相交。

返回“真”有两种情况。

第一:剪裁区域为空。

第二:矩形和剪裁区域不相交。

除了这两种情况外,其它情况都返回假。

代码可参考“矩形包含测试”

 

 

● 矩形不相交测试2

 

帮助文档如下图:

本方法和“矩形不相交测试”的区别在于,矩形坐标是由“矩形类”指定。

返回值的返回条件和“矩形不相交测试”一样。

 

 

● 区域不相交测试

 

帮助文档如下图:

本方法的作用是用来判断指定的“剪裁区域”是否与“当前剪裁区域”相交。

返回值为“逻辑型”

“返回真”表示两个剪裁区域不想交,如果相交“返回假”

 

 

● 清空

 

帮助文档如下图:

顾名思义,就是用来清空“剪裁区域”

调用方法“剪裁区域类.清空()”,参数内填写要清空的剪裁区域对象即可。

 

 

● 取边界矩形

 

帮助文档如下图:

本方法有点类似于“绘制路径类.计算包围矩形()”

不同之处在于,本方法是针对“剪裁区域”进行操作,并且取出来的矩形是以返回值的形式出现。

通过“矩形类”“上下左右”四个读属性,可以取出边界矩形的四个坐标。

本方法此处不再演示效果,大家自行测试。

 

 

● 取边界矩形2

 

帮助文档如下图:

本方法与“取边界矩形”不同之处在于,本方法的“边界矩形”“矩形类”是通过参数返回。

代码编写可参考:“绘制路径类.计算包围矩形()”

 

 

● 取边界路径

 

帮助文档如下图:

本方法与“取边界矩形”不同之处在于,本方法返回的是“绘制路径类”对象。

可以通过调用“画板对象.画路径 ()”方法,将返回的路径绘制出来。

 

 

● 取边界路径2

 

帮助文档如下图:

本方法与“取边界路径”不同之处在于,它是通过参数返回“绘制路径类”对象。

 

 

● 是否包含指定点

 

帮助文档如下图:

本方法的作用就是根据“坐标”判断“指定点”是否存在于“剪裁区域内”

包含返回“真”,不包含返回“假”

 

 

● 是否相同

 

帮助文档如下图:

顾名思义,它的作用就是判断两个“剪裁区域”是否相同。

相同返回“真”,不相同返回“假”

 

 

● 移动

 

帮助文档如下图:

顾名思义,就是移动“当前剪裁区域”,移动后返回本对象内。

本方法和“移动路径”大同小异,可参考移动路径的代码。

 

 

● 移动2

 

帮助文档如下图:

本方法和“移动”的不同之处在于,本方法移动后的结果会返回给“参数4”中。

本方法和“移动路径”大同小异,可参考移动路径的代码。

 

 

● 置为矩形区域

 

帮助文档如下图:

注意:本方法会清除剪裁区域的原有内容,并将其设置为“矩形剪裁区域”

这个矩形区域是通过方法内的“四个”参数决定。

 

 

● 置为矩形区域2

 

帮助文档如下图:

本方法与“置为矩形区域”不同之处在于,本方法是通过“矩形类”来指定剪裁区域。

通过“矩形类”“上下左右”四个写属性可以指定坐标。

“矩形类”在本教程中也是多次使用,因此不再演示。

 

 

● 置为路径剪裁结果

 

帮助文档如下图:

简单来说,就是利用“参数3”的剪裁区域对“参数2”的路径,进行剪裁操作,最后的结果放入“参数1”中。

返回结果“真”表示不是空的。

返回“假”表示空的。

 

代码编写如下图:

我们需要定义三个变量,一个“绘制路径类”变量和两个“剪裁区域类”变量。

其中一个“剪裁区域2”设置参考。

然后按照如图所示的代码一一编写。

最终的效果就是:“剪裁区域2”创建的矩形会对“圆形路径”进行剪裁操作,并且结果会放入“剪裁区域1”内。

 

运行效果如下图:

最终的结果,可以看到“圆形”只剩下一个扇形,剩下的被“矩形剪裁区域”给剪掉了。

 

 

● 置组合结果

 

帮助文档如下图:

简单来说就是将“参数2”“参数3”进行组合,组合方式为“剪裁区域组合方式.XXX”

最后的组合结果返回“参数1”

 

代码编写如下图:

定义三个“剪裁区域类”变量,后两个设置参考。

然后分别给“剪裁区域2”“3”创建矩形剪裁区域。

随后调用“剪裁区域类.置组合结果”方法,填入对应的参数。

最后在画板上应用“剪裁区域1”,也就是最终组合结果。

然后给剪裁区域“填充颜色”

 

运行效果如下图:

可以看到两个矩形的相交部分被剪裁掉,这是“不相交”模式的结果。

其它模式大家可以自行测试。

 

 

● 置组合结果2

 

帮助文档如下图:

本方法和“置组合结果”不同之处在于,它是让“矩形类”“剪裁区域”进行组合。

最终的结果依然是返回“参数1”中。

 

 

● 组合矩形区域

 

帮助文档如下图:

本方法和前面两个方法类似,也是组合区域的。

不同之处是,本方法是通过“参数2、3、4、5”创建的矩形区域和“参数1”进行组合。

最终的结果返回给“参数1”中。

代码编写可参考“置组合结果”

 

 

● 组合矩形区域2

 

帮助文档如下图:

本方法与“组合矩形区域”不同之处在于,本方法是通过“矩形类”进行组合。

“矩形类”的创建方法,本教程中也多次使用,这里不再演示。

 

 

● 组合区域

 

帮助文档如下图:

本方法和前面两个不同之处在于,本方法是“两个”剪裁区域类进行组合。

组合结果依然是返回“参数1”中。

 

 

● 是否为空(读)

 

帮助文档如下图:

本读属性顾名思义,就是用来判断“剪裁区域类”对象是否为空。

 

调用方式:“剪裁区域类变量.是否为空”

具体可参看下图中的代码。