绘制路径类实例讲解

作者:创世魂

 

● 本类说明

 

本类的作用就是进行绘制路径时的各种操作。

如果不设置路径起始点,默认“起始点坐标(0,0)”

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

 

 

● 添加矩形
● 添加矩形2

 

“添加矩形”帮助文档:

顾名思义就是在“路径对象”中添加一个矩形。

通过“小数矩形类”的上下左右进行指定坐标。

 

“添加矩形2”帮助文档:

本方法与“添加矩形”的区别在于,可以直接指定矩形的“上下左右”坐标参数。

 

代码编写如下图:

此处距离“添加矩形”方法。

定义“画笔类”变量,设置“颜色”“笔划像素宽度”“笔划类型”属性。

随后在“异步绘制帧”事件下,定义一个“绘制路径类”变量和两个“小数矩形类”变量。

给小数矩形类,分别设置“上下左右”四个属性。

随后调用本方法,连续添加两个矩形。

最后调用“画路径”方法,绘制路径。

 

运行效果如下图:

最终的结果,一次性绘制了两个矩形路径。

 

 

● 添加路径
● 添加路径2

 

“添加路径”帮助文档:

通俗理解,就是将已知的“路径对象”,添加到“本路径”对象中。

可以理解为两个路径合并成一个路径。

通过“参数3”“参数4”可以进行“偏移”设置。

 

“添加路径2”帮助文档:

本方法与“添加路径2”不同之处在于,本方法没有了“偏移”参数,增加了一个“矩阵类”参数。

有关矩阵类使用可以跳转到“矩阵类”

 

代码编写如下图:

此处举例“添加路径”方法。

我们直接在“添加矩形”方法的基础上,增加一个“添加路径”方法做测试,偏移设置“100”

 

运行效果如下图:

最终结果,两个矩形通过设置的“偏移”坐标,合并到了一起。

并且另外两个矩形的已然存在。

 

 

● 添加椭圆
● 添加圆
● 添加圆弧
● 添加圆角矩形

 

以上四个方法可以去参考“画椭圆”“画圆”“画圆弧”“画圆角矩形”方法,此处不再讲解。

不同之处是这四个方法是通过“画路径”进行绘制。

 

 

● 添加圆角矩形2

 

帮助文档如下图:

本方法与“添加圆角矩形”不同之处在于,本方法圆角半径是通过“浮点小数数组”提供。

“浮点小数数组”的创建可参考“画一批点”方法,这个方法内使用了浮点小数数组。

注意“参数3”:至少提供8个数组成员。

 

 

● 是否为矩形

 

帮助文档如下图:

简单来说就是判断指定“路径对象”是否为矩形,如果“不是矩形”“参数2”不起任何作用。

如果目标“路径对象”是矩形,并且“参数2不为空”,此时“参数2”内就会存储“矩形坐标”数据。

也就是通过“小数矩形类”“上下左右”四个读方法可以读取矩形的“坐标”

在本教程中“小数矩形类”被多次使用,所以这里不再进行演示。

 

 

● 清空

 

帮助文档如下图:

顾名思义就是清空“路径对象”的内容。

“参数2”的作用就是红框内所框选的解释,如果进行保留下次可快速使用。

 

 

● 封闭当前轮廓

 

帮助文档如下图:

简单来说就是,如果绘制的路径“有缺口”,会自动绘制一条“直线”“起始点”“结束点”进行连接。

保证整个路径时封闭效果。

本方法的应用可参考“笔划尖头值”写属性。

 

 

● 计算包围矩形

 

帮助文档如下图:

“包围矩形”简单来说就是某个路径形成的图形,正好被一个矩形包围住了,那么这个矩形就是“包围矩形”

而本方法的作用就是用来计算路径外围“包围矩形”的四个坐标。

坐标会存放到“小数矩形类”参数中。

 

代码编写如下图:

依然是定义“画笔类”变量,需要设置三个属性。

随后在“异步绘制帧”事件下,定义两个变量,分别为“绘制路径类”“小数矩形类”

通过“添加圆”方法添加一个圆,随后调用“画路径”方法,将圆绘制出来做参考。

随后调用“计算包围矩形”方法,参数内填写“小数矩形”变量,存储矩形数据。

最后可以调用“画板对象.画矩形3()”方法,将包围矩形绘制出来。

 

运行效果如下图:

结果就是“圆形路径”外围有一个“矩形”,正好将“圆形包围”起来。

外围的矩形就是包围矩形。

 

 

● 加二次曲线到

 

帮助文档如下图:

顾名思义,就是绘制“二次贝塞尔曲线”

参数2、3用来指定控制点坐标。

参数3、4指定结束点坐标。

如果不指定起始点坐标,默认为画板左上角,也就是“坐标为(0,0)”

 

贝塞尔曲线简单说明:

“参数2、3”的控制点也就是如图所示的“B点”坐标。

一般情况下“A点”“起始点”坐标,“C点”“结束坐标”

 

代码编写如下图:

定义“画笔类”变量,设置相关属性值。

随后定义“绘制路径类”变量,通过变量名称调用本方法,填写相关参数创建曲线。

随后利用“画路径”方法将“曲线”绘制出来。

最后可以利用“画点”方法将“控制点”绘制出来。

 

运行效果如下图:

 

 

● 加三次曲线到

 

帮助文档如下图:

本方法和“加二次”的区别,在于本方法有两个控制点,用来绘制“三阶贝塞尔曲线”

下图为三阶贝塞尔曲线的样式,通过控制“B点”“C点”的位置可以生成更加复杂的曲线样式。

大家可以自己调整参数,感受样式的变化。

 

 

● 相对加二次曲线到
● 相对加三次曲线到

 

以上两个方法和前面两个不同之处在于,它们绘制的起始点是“上一个曲线”的结束点。

如果没有上一个曲线,则从“坐标(0,0)”开始绘制。

例如下图:

绘制第二条曲线,它的“起始点坐标”会是“第一条曲线”“结束点”

也就是“坐标(200,200)”

大家可以自由调整参数感受变化,这里不再进行详细介绍。

 

 

● 加圆弧到

 

帮助文档如下图:

顾名思义,用来绘制圆弧路径。

圆弧通过“参数2”“小数矩形类”限制坐标。

还需要注意“参数5”,如果连续绘制两个或者多个圆弧,通过本参数可以设置是否将这几个圆弧连接起来。

 

代码编写如下图:

定义“画笔类”变量,设置“颜色”“笔划像素宽度”属性。

随后在“异步绘制帧”事件下,定义一个“绘制路径类”变量和两个“小数矩形类”

随后利用本方法连续加两个圆弧,最后调用“画路径”绘制圆弧。

 

运行效果如下图:

左图:省略“参数5”或参数5填写为“假”的效果。

右图:“参数5”填写为“真”的效果。

 

 

● 加直线到

 

帮助文档如下图:

顾名思义,给路径添加直线,从“上一条直线”“结束点”添加。

如果没有上一条直线,默认从左上角(0,0)坐标开始添加。

本方法代码编写可参考:“笔划尖头值”,此处不再详细讲解。

 

 

● 相对加直线到

 

帮助文档如下图:

本方法和“加直线到”的不同之处在于。

本方法的“参数坐标”是针对当前路径的“上一条直线”结束点的偏移量。

大家可以自己使用本方法感受效果,此处不再演示。

 

 

● 移动路径

 

帮助文档如下图:

顾名思义,就是根绝设置的“偏移参数”移动指定路径到指定位置。

如果“参数4”为空,则移动后的路径赋值给本对象,如果不为空则赋值给“参数4”

 

代码编写如下图:

“参数4”为空对象时,移动后的路径会赋值给“路径1”变量。

“参数4”填写指定变量后,移动后的路径会赋值给“参数4”变量。

可以通过“结果路径”变量绘制移动后的路径。

 

 

● 置起始点

 

顾名思义,就是用来设置“绘制路径”时的“起始点坐标”位置。

本方法代码编写可参考:“笔划尖头值”,此处不再详细讲解。

 

 

● 相对置起始点

 

帮助文档如下图:

本方法同样是设置起始点坐标,不同之处在于。

它是根据上一个路径的结束点坐标的偏移量,来设置新的起始点。

本方法大家自行测试,这里不再演示。

 

 

● 置结束点

 

帮助文档如下图:

顾名思义,设置结束点坐标值。

本方法共有“三个”参数,后两个“小数”参数提供“结束点”的坐标值。

可以理解为重置“路径最后一个点”所处的位置。

 

代码编写如下图:

比如,代码中通过“路径1”添加两条直线,随后设置一个结束点。

最后绘制整条路径。

 

运行效果如下图:

最终的结果就是,“第二条直线”设置的坐标不起作用,直接使用了“置结束点”的坐标。

 

 

● 置入

 

帮助文档如下图:

可以理解为把“参数2”中的对象赋值给“当前对象”

 

代码编写如下图:

如果还不理解,看图内“路径2”就等于当前对象。

“路径1”就是参数。

本方法的作用就是将“路径1”的所有路径信息,赋值给“路径2”也就是当前对象。

 

 

● 转换路径

 

帮助文档如下图:

简单来说,就是通过创建的“矩阵类”对象,针对绘制的路径进行一些转换操作。

例如:“旋转”路径,“平移”路径等……

 

代码编写如下图:

依然是定义“画笔类”变量,设置相关属性。

随后在“异步绘制帧”事件下定义两个变量,分别为“绘制路径类”“矩阵类”

通过“加直线到”方法,添加两条直线形成一个路径。

随后调用“画路径”方法绘制平移前的路径。

通过“矩阵”变量,调用“乘于平移矩阵”方法,创建一个平移的矩阵。

随后调用“路径1.转换路径”方法,参数填写“矩阵”变量。

这样操作之后,绘制的路径就会进行平移操作。

最后将平移后的路径绘制出来即可。

 

运行效果如下图:

 

 

● 转换路径到

 

帮助文档如下图:

本方法和“移动路径”有些类似。

如果“参数3”不为空,则将转换后的结果赋值给“参数3”的变量。

如果“参数3”为空,则赋值给当前对象。

具体使用方法可参考“转换路径”方法。

 

 

● 复制创建

 

帮助文档如下图:

顾名思义,就是将“当前路径”对象进行复制一份,并返回创建一个新的对象。

“新的路径对象”会拥有“当前路径对象”的所有路径信息。

通过返回的路径对象,可直接进行绘制操作,本方法不再演示。

 

 

● 填充模式(写)

 

帮助文档如下图:

顾名思义,设置路径的“填充”模式。

通过“绘制路径填充方式”类进行指定,它共有四个常量值。

分别为:卷绕型,反色卷绕型,奇偶型和反色奇偶型。

 

代码编写如下图:

例如:给路径添加两个圆,设置对应坐标。

设置“填充模式”属性为“绘制路径填充方式.卷绕型”

 

运行效果如下图:

下面举例了两个样式,其它样式大家自行测试。

左图:卷绕型,路径内部填充。

右图:反色卷绕型,路径外部填充。

 

 

● 填充模式(读)

 

顾名思义,本属性的作用就是用来读取当前的填充模式。

在需要用到“填充模式”的地方直接输入“路径变量.填充模式”即可。

 

 

● 是否为空(读)

 

“读属性”的作用就是用来“判断当前路径”对象是否有路径内容。

返回值为“逻辑型”

返回“真”表示没有任何数据,返回“假”表示存在路径数据。