画笔类实例讲解

作者:创世魂

 

● 本类说明

 

本类的主要作用就是提供各种绘制参数。

例如:“笔划颜色”“宽度”“字体大小”等属性的调整。

 

 

● 颜色(写)

 

以上多个方法中均使用了“画笔类”“颜色”写属性,这里不再进行详细讲解。

 

 

● 颜色(读)

 

帮助文档如下图:

“读属性”,顾名思义就是用来读取当前画笔设置的颜色值。

调用方式“画笔变量.颜色”就可以读取。

 

 

● 颜色过滤器(写)

 

设置当前“画笔类变量”颜色过滤器属性。

代码编写可参考“颜色过滤器类”帮助文档。

 

 

● 颜色过滤器(读)

 

帮助文档如下图:

本读属性的作用,就是用来读取当前“画笔类变量”设置的颜色过滤器。

应用场景:比如“画笔1”设置了一个“颜色过滤器”“画笔2”想要拥有“相同的过滤器”

可以直接写“画笔2.颜色过滤器=画笔1.颜色过滤器”

 

 

● 笔划尖头值(写)
● 线条连接形状(写)
● 笔划像素宽度(写)
● 笔划类型(写)

 

以上为四个关联属性,这里统一讲解。

“笔划尖头值”帮助文档:

本属性只有当“线条链接形状”属性值为“尖头”时有效。

注意:“笔划类型”“填充”本属性无效。

属性值为“小数”,填写的“数值越小”效果越明显。

“线条连接形状”帮助文档:

顾名思义,用来设置两个线条之间连接处的形状。

通过“线条链接类型”进行设置。

本类型共有三个常量值,分别是“尖头”“圆头”“斜角”

“笔划像素宽度”帮助文档:

顾名思义,就是调整笔划的像素宽度。

另外注意:“笔划类型”设置为“填充”,本属性无效。

“笔划类型”帮助文档:

顾名思义,它的作用就是用来设置笔划类型。

通过“笔划绘制类型”进行设置,总共有三个常量。

分别是“描边”“描边且填充”“填充”

 

代码编写如下图:

首先定义“画笔类”变量,分别需要设置“五个”属性值。

笔划像素宽度:控制线条粗细,只有足够粗“笔划尖头值”才能有效果。

线条连接形状:此处设置“尖头”即可。

笔划尖头值:填写1.5

颜色:填写“颜色类.白色”

笔划类型:此处需要设置“描边”

 

随后在“异步绘制帧”方法下,利用“绘制路径类”绘制两条直线,设置一个“起始点”

然后调用“封闭当前轮廓”方法,封闭路径,形成一个“三角形”

最后使用“画路径”方法进行绘制即可。

 

运行效果如下图:

点击“按钮1”开始绘制后,就会出现如下图所示的“三角形”

 

 

● 笔划尖头值(读)

 

帮助文档如下图:

“读属性”顾名思义,就是用来读取设置的“笔划尖头值”,返回值为小数。

调用方式:在需要用到的地方写上“画笔变量.笔划尖头值”即可。

注意:这里“画笔变量”是你自己定义的“画笔类”“变量名称”

● 线条连接形状(读)

 

帮助文档如下图:

“读属性”顾名思义,就是用来读取设置的“线条连接形状”

调用方式可参考“笔划尖头值”

 

 

● 笔划像素宽度(读)

 

帮助文档如下图:

顾名思义,返回当前设置的“笔划像素宽度”

调用方式可参考“笔划尖头值”

 

 

● 笔划类型(读)

 

帮助文档如下图:

返回当前所设置的“笔划设置类型”

调用方式可参考“笔划尖头值”

 

 

● 笔划宽度(写)

 

帮助文档如下图:

本属性和“笔划像素宽度”属性基本一致,不同之处就是,本属性的“属性值”单位为“DP”

有关“DP”单位说明,可以看“尺寸单位.DP”常量值。

具体位于“系统库-->安卓基本-->辅助类-->尺寸单位”

调用方式可参考“笔划尖头值”

 

 

● 笔划宽度(读)

 

帮助文档如下图:

顾名思义,读取当前设置的“笔划宽度”属性。

调用方式可参考“笔划尖头值”

 

 

● 标志(写)

 

帮助文档如下图:

设置画笔类的“标志”,标注状态为“画笔标志类”中的常量置。

“画笔标志类”中有九个常量值。

分别为:

“下划线文本”“位图过滤”“反锯齿”“子像素文本”“抖动”“穿透线文本”“粗体文本”“线性文本”“设备字间距文本”

 

代码编写如下图:

定义“画笔类”变量,设置“颜色”“标志”属性。

这里,标志属性举例:“下划线文本”

最后在“异步绘制帧”下面调用“画文本”方法绘制文本。

 

运行效果如下图:

最终结果,绘制的文本带有“下划线”

 

 

● 标志(读)

 

帮助文档如下图:

顾名思义,返回当前设置的标志值,均为“画笔标志类”中的常量值。

调用方式可参考“笔划尖头值”

 

 

● 常用字体(写)
● 穿透线文本(写)
● 字体像素尺寸(写)
● 字体尺寸(写)
● 粗体文本(写)
● 下划线文本(写)
● 字体(写)

 

以上方法统一讲解。

“常用字体”帮助文档:

本属性值为“常用字体类型”,共有五个常量。

分别为:“无衬线字体”“有衬线字体”“等宽字体”“通常”“通常粗体”

注意:本属性设置后会覆盖“字体”属性。

 

“穿透线文本”帮助文档:

本属性值为“逻辑型”,设置为“真”表示有文字上会有“穿透线”

默认值为“假”

 

“字体像素尺寸”帮助文档:

本写属性用来设置文本字体大小,单位为“像素”

注意:本属性设置后会覆盖“字体尺寸”

 

“字体尺寸”帮助文档:

本属性和“字体像素尺寸”不同之处在于,本属性的单位为“SP”

具体位于“系统库-->安卓基本-->辅助类-->尺寸单位”

注意:本属性设置后会覆盖“字体像素尺寸”

 

“粗体文本”帮助文档:

顾名思义,将文本加粗显示。

属性值为“真”则加粗,否则不加粗,默认为“假”

 

“下划线文本”帮助文档:

顾名思义设置“文本”是否有下划线,“真”则有,相反则没有。

默认值为“假”

 

“字体”帮助文档:

属性值为“字体类”,通过本类可以给绘制的文字改变“字体”

注意:本属性将会覆盖“常用字体”

 

代码编写(1):

定义七个画笔类变量,除了“颜色”属性一致外,分别额外设置以上讲到的属性值。

注意:此处“画笔7”没有设置“字体”属性,是因为“字体”写属性不支持在表格中设置。

 

代码编写(2):

“按钮_被单击”事件下,定义一个“文件名类”变量,设置参考。

随后利用“文件名类.创建3”方法,去创建文件名类对象,赋值给定义的变量。

注意:“字体.ttf”文件,是我提前下载好,放到手机存储内的字体文件。

最后,利用“字体类.从文件名类创建”方法,创建“字体类”变量赋值给“字体”属性。

 

代码编写(3):

调用“画文本”方法,分别绘制七行文本,使用不同的“画笔类变量”

 

运行结果如下图:

不同的字体样式按照“画笔类”的属性分别生效。

 

 

● 穿透线文本(读)
● 字体像素尺寸(读)
● 字体尺寸(读)
● 粗体文本(读)
● 下划线文本(读)
● 字体(读)

 

以上全部为“读属性”返回对应的“写属性”设置的值。

不再进行详细讲解。

调用方式可参考“笔划尖头值”

 

 

● 字体上沿高度(读)

 

上沿下沿概念:

画板绘制文字时,最上方和最下方都有一定的空隙。

“基线”大概就位于如图所示的位置。

“上沿高度”就是从“基线”“上沿”的距离,结果是一个负数。

“下沿高度”就是从“基线”“下沿”的距离,结果是一个整数。

帮助文档如下图:

返回指定“画笔类”“字体上沿高度”

结果是一个负值的小数。

 

代码编写如下图:

定义“画笔类”变量,设置“颜色”“常用字体”“尺寸”等一些改变字体的属性。

随后在“异步绘制帧”方法下绘制文本,利用“本属性”就可以取出上沿高度置。

 

运行效果如下图:

 

 

● 字体下沿高度(读)

 

顾名思义,本属性用来读取“下沿高度值”,不再进行详细讲解。

 

 

● 子像素文本(写)

 

帮助文档如下图:

本属性的属性值为逻辑型。

如果属性值设置为“真”,将有助于文本在LCD屏幕上的显示效果。

 

 

● 子像素文本(读)

 

“读属性”的返回值为逻辑型,返回“真”表示已经设置,相反没设置。

 

 

● 点形状(写)

 

帮助文档如下图:

本写属性顾名思义,就是用来设置“点”“线条两端端点”的形状。

调用方式:点形状类型.XXX。

共有三个常量值,分别为“无”“圆头”“方头”

本方法在“画点”方法中进行了演示,这里不再演示。

 

 

● 点形状(读)

 

帮助文档如下图:

本属性为“读属性”顾名思义,读取当前“点形状”

调用方式:“画笔变量.点形状”。返回值为“点形状类型”

 

 

● 抖动(写)

 

本写属性的属性值为“逻辑型”,填写“真”为抖动,“假”为不抖动。

在实际的应用场景中,“抖动”更多的作用是在“图像降低色彩深度”绘制时,避免出现大片的“色带与色块”

不过对于现在而言,“抖动”属性已经没有那么实用。

因为现在的安卓的绘制,默认的色彩深度已经是32位的 ARGB_8888 ,效果已经足够清晰了。

因此不做详细的介绍。

 

 

● 抖动(读)

 

返回当前是否设置了“抖动”属性。

调用方式:“画笔变量.抖动”,返回“真”表示设置了。

 

 

● 反锯齿(写)

 

帮助文档如下图:

本写属性的作用,就是用来消除绘图时产生的“锯齿”

属性值设置“真”就可以消除锯齿。

 

代码编写如下图:

定义“画笔类”变量,设置“颜色”属性和“反锯齿”属性。

反锯齿设置为“真”

 

运行效果如下图:

左图:没有设置反锯齿的效果,可以看到黄色箭头处有明显的“锯齿”痕迹。

右图:设置“反锯齿”“真”的效果,可以看到锯齿消失。

  

 

 

● 反锯齿(读)

 

帮助文档如下图:

“读属性”的作用,就是用来读取当前是否设置了“反锯齿”

调用方式“画笔变量.反锯齿”,设置了返回“真”,没设置返回“假”

 

 

● 路径效果(写)

 

帮助文档如下图:

本属性顾名思义,就是用来设置路径的效果。

例如:可以用它绘制“虚线”路径。

 

代码编写如下图:

定义“画笔类”变量,设置“颜色”“笔划类型”

随后在“异步绘制帧”方法下,定义两个变量,分别为“绘制路径类”“小数[]”

小数数组变量设置一串初始值。

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

随后给“画笔1.路径效果”赋值“路径效果类.创建破折效果()”

本方法就是用来给路径设置“虚线”效果,

需要调用“浮点小数数组.从小数数组创建()”方法将“小数数组”转换为“浮点小数数组”

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

 

运行效果如下图:

点击“按钮1”开始绘制后,就会出现一个“虚线效果”的路径。

 

 

● 路径效果(读)

 

帮助文档如下图:

“读属性”返回设置的“路径效果类”,如果不存在,返回空对象。

调用方式:“画笔变量.路径效果”

应用场景:“画笔1”设置了一个路径效果,画笔2想要使用同样的效果。

可以直接写“画笔2.路径效果=画笔1.路径效果”

此处就用到了“画笔1.路径效果”读属性。

 

 

● 透明度(写)

 

帮助文档如下图:

写属性,用来设置透明度,范围是“0-255”

“0”为完全透明,“255”为完全不透明。

 

代码编写如下图:

定义“画笔类”变量,“颜色”设置“白色”“透明度”设置“100”

“异步绘制帧”方法下,填充一个红色的背景。

在红色背景上画一个白色的矩形。

 

运行效果如下图:

“按钮1”被点击后,可以明显看到“白色”的矩形变透明了。

 

 

● 透明度(读)

 

顾名思义,读取设置的透明度。

调用方式:“画笔变量.透明度”就可以读取透明度。

 

 

● 图像混合(写)

 

帮助文档如下图:

使用本属性,通过调用“图像混合方式.XXX”可以设置图像的混合模式。

“图像混合方式”总共有18个常量值,提供不同的图像混合算法。

 

代码编写如下图:

定义两个画笔类变量,分别设置不同的颜色。

随后给“画笔2”设置“图像混合”属性值为“清零”

然后在“异步绘制帧”下,填充背景色做参考后,绘制两个矩形。

 

运行效果如下图:

最后结果可以看到,绿色的矩形是黑色的,颜色被“图像混合”属性清零。

其它常量值,大家可以自行实验。

 

 

● 推荐行间距(读)

 

帮助文档如下图:

根据当前字体的相关参数设置,推荐最佳行间距,单位为像素。

调用方式:“画笔变量.推荐行间距”

应用场景:例如,需要绘制一大段的文本,此时就需要用到行间距,可以使用本“读属性”设置行间距。

 

 

● 位图过滤(写)

 

帮助文档如下图:

“写属性”可用于绘制图片进行反锯齿操作。

 

代码编写如下图:

定义“画笔类”变量,设置本属性值为“真”

“异步绘制帧”下定义两个变量,分别为“位图类”“可绘制资源”

“位图类”依然需要设置“参考”“可绘制资源”导入一张图片。

随后创建“缩放矩阵”,进行放大操作。

利用“位图类.从资源创建()”方法,创建图片资源赋值给“位图”变量。

最后调用“画位图”方法绘制位图,填写对应参数。

 

运行效果如下图:

左图:“没有设置”本属性值的效果。

右图:设置本属性值为“真”的效果。

  

 

 

● 位图过滤(读)

 

帮助文档如下图:

顾名思义,读取当前类是否设置了位图过滤。

设置返回“真”,没有设置返回“假”

调用方式:在需要用到的地方填写“画笔变量.位图过滤”即可。

 

 

● 文本对齐方式(写)
● 文本横向倾斜系数(写)
● 文本横向缩放比(写)

 

以上三个写属性统一讲解

“文本对齐方式”帮助文档:

本属性设置的并非绘制文本的对齐方式,而是“画笔”位于文本的“哪一侧”

属性值通过“文本绘制水平对齐方式”类设置,内有三个常量。

分别为“居左”“居右”“居中”

 

“文本横向倾斜系数”帮助文档:

本属性可以用来设置文本字体为“斜体”,默认值为“0”不倾斜。

数值越大切斜度越大。

 

“文本横向缩放比”帮助文档:

针对绘制的文本进行横向拉伸,默认值为“1”,即不拉伸。

属性值填写“大于1”的拉伸,“小于1”的缩放。

 

代码编写(1):

定义三个“画笔类”变量,分别设置统一的“颜色”“字体尺寸”属性值。

随后给“画笔2”“画笔3”分别设置“文本横向切斜系数”“文本很想缩放比”,并且填写一个属性值。

 

代码编写(2):

“异步绘制帧”方法下,调用“画笔1.文本对齐方式”写属性,设置其属性为“居左”对齐。

随后调用“画文本”方法,重复两次将“居左,居中,居右”全部绘制出来。

继续调用“画文本”方法,将“画笔2”“画笔3”都使用上。

 

运行结果如下图:

点击“按钮1”开始会之后,就会生成如下效果的文字。

注意:这里的“居左居右”“画笔”,并非文本。

 

 

● 文本对齐方式(读)
● 文本横向倾斜系数(读)
● 文本横向缩放比(读)

 

以上三个读属性,作用就是来读取设置的属性值。

调用方式:“画笔变量.”+"对应的属性值"

 

 

● 语言区域(写)

 

帮助文档如下图:

设置绘制文本所使用的“语言区域”

本属性也较为重要,因为“中文”“日文”某些字符基于相同的编码,但是字体形状也有所差异。

默认绘制文本,使用的是当前系统语言。

如果你知道接下来要绘制的文本为“日文”,那么建议将“语言区域”设置为“日文”

通过属性值“语言区域类”可以进行创建语言区域的操作。

本属性不支持在表格中填写。

 

代码编写如下图:

通过“语言区域类.创建”方法,创建“中文”语言,赋值给“画笔1.语言区域”写属性。

这样就表示“中文”语言区域创建成功。

部分语言区域代码:中文“zh”,英文“en”,日文“ja”

 

 

● 语言区域(读)

 

顾名思义,读取设置的语言区域,返回“语言区域类”对象。

调用方法:“画笔变量.语言区域类”

 

 

● 着色器(写)

 

帮助文档如下图:

着色器概念:

我们在用安卓中的绘制各种图形时,可以通过本属性设置画板的着色器。

着色器可以用来绘制出多彩的图形,也可以给指定形状进行贴图。

本属性值“不能”在表格代码“属性框”中定义,需要写文本代码定义。

 

代码编写如下图:

首先依然需要定义“画笔类”变量。

随后在“异步绘制帧”下,定义“位图类”变量设置参考。

还需要定义一个“可绘制资源”变量,随便导入一张图片。

然后通过“位图类.从资源创建”方法创建位图类对象,赋值给“位图”变量。

然后调用“着色器类.创建位图着色器()”方法,分别填入对应的参数,赋值给“着色器”写属性。

最后执行“画矩形”方法。

 

运行效果如下图:

结果就是绘制的矩形,针对导入的图片进行了“镜像贴图”

 

 

● 着色器(读)

 

帮助文档如下图:

顾名思义,读取当前设置的“着色器类”

调用方式:“画笔变量.着色器”

 

 

● 置颜色
● 置阴影层
● 重置

以上三个方法统一讲解,从此处开始,下面的所有均为各种方法,不再有读写属性。

“置颜色”帮助文档:

本方法和“颜色”写属性效果一致,用来设置画笔的颜色。

不同之处在于,本方法可以分别设置“红绿蓝”三个颜色的分量,并且还可以设置“透明度”参数。

参数数值范围有效值都是“0到255”

 

“置阴影层”帮助文档:

使用此方法后可以理解为给绘制的“指定图形”或者“文字”增加阴影效果。

注意:如果模糊半径填写0,则会删除阴影层。

 

“重置”帮助文档:

顾名思义,重置所有属性值。

 

代码编写如下图:

定义“画笔类”变量,然后在“异步绘制帧”方法下写对应的方法。

填充白色背景,设置字号方便参考。

然后调用“置颜色”方法,透明度设置“255”表示不透明,红色分量设置“255”,表示大红色,另外两个设置“0”

随后调用一个“画文本”方法,继续调用“置阴影层”方法,设置阴影层。

这里“阴影层”绘制的“文本颜色”,依然是最开始设置的红色。

最后调用“重置”方法,然后继续执行“画文本”

 

运行效果如下图:

点击“按钮1”开始绘制后,会出现如图所示的三行文本。

 

 

● 置浮雕遮罩过滤器

 

帮助文档如下图:

本方法通俗理解,就是用来给指定图形或者图片增加“浮雕效果”

注意:本方法使用时,必须保证“硬件加速”属性为“关闭”状态。

本方法共有七个参数,除第一个参数外,其余六个均是设置各种数值。

 

坐标轴大概如下图所示的模样。

 

代码编写如下图:

定义“画笔类”变量,设置颜色为“灰色”

随后在“异步绘制帧”事件下,调用“画笔1.置浮雕遮罩过滤器”方法。

在方法内填写合适的参数值。

最后执行一个“画圆”方法,展示设置的效果。

 

运行效果如下图:

绘制的圆增加了浮雕效果,大家可以自己调整对应的参数感受变化。

 

 

● 置模糊遮罩过滤器

 

帮助文档如下图:

顾名思义,给绘制的图片增加“模糊遮罩”效果。

本方法同样需要保证“硬件加速”处于关闭状态。

通过“遮罩模糊方式”来指定模糊效果,调用方式:“遮罩模糊方式.XXX”

 

代码编写如下图:

定义“画笔类”变量,随后依然还是“创建位图对象”那一套的方法。

然后调用“画笔1.置模糊遮罩过滤器()”填写对应参数。

最后使用“画位图”绘制图片。

 

运行效果如下图:

左图:模糊后效果。

右图:原图片效果。

 

 

● 测算断行位置
● 测算断行位置2
● 测算断行位置3

 

“测算断行位置”帮助文档:

本类的主要作用就是绘制一大段文本时,计算出需要进行换行的位置。

通俗理解就是计算出一行可以放多少个字符。

如果还不理解,可以看黄框内的详细说明。

参数3:通常情况下填写“真”即可。

参数5:如果没有这种特殊需求,可以直接省略不写。

 

“测算断行位置2”帮助文档:

本方法和“测算断行位置”不同之处多了两个参数。

分别为“起始字符位置”“结束字符位置”,返回值也位于这个文本区间内。

 

“测算断行位置3”帮助文档:

本方法的不同之处在于,测算的内容为“字符数组”,测算区间为“起始字符位置”“被测算的文本长度”

返回值也位于这个文本区间内。

 

代码编写如下图(1):

此处我们举例第一个方法进行代码编写。

首先定义“画笔类”变量,设置“颜色”“字体尺寸”

随后定义一个“文本型常量”,填写一大段的文本到初始值内。

 

代码编写如下图(2):

“异步绘制帧”方法下编写的代码较为复杂,代码内我也写上了详细的注释“绿色文字”部分。

此处我简单解释几个重点。

“字体高度”那一行,“取整数绝对值()”方法可以将“负整数”变为“正整数”

而在括号内填写“整数”的意思,是将“画笔1.字体上沿高度”的返回值强转为“整数”

在绘制一大段文本时,不可能每一行的文本都恰好沾满整行。

“循环”方法的作用是将占满整行的文本绘制完毕。

“循环”方法下面的命令是用来绘制“最后一行”没有占满整行的文本。

 

运行效果如下图:

可以看到,一大段的文本进行了智能的换行。

 

 

● 复制

 

帮助文档如下图:

顾名思义,将指定“画笔类”变量中的所有配置项复制到当前画笔类中。

把需要复制的“画笔类”变量写入“参数2”中即可。

 

 

● 复制创建

 

帮助文档如下图:

“复制后”返回一个“画笔类”对象,相当于“复制”方法多了一个返回值。

可以把返回的本类对象,赋值给一个新的“画笔类”变量。

 

 

● 复制路径

 

帮助文档如下图:

本方法顾名思义,就是将指定“路径类”“所有参数”,复制到“新的路径类”中。

这个新的“路径类”,也就是“参数3”

复制成功返回“真”,失败返回“假”

 

代码编写如下图:

举个简单的例子,可以看到图中定义了两个路径类变量。

“路径1”添加两条直线,随后调用本方法,复制给“路径2”使用。

然后调用“画路径”方法绘制“路径2”

 

运行效果如下图:

最后结果,“路径2”虽然没有调用“加直线到”方法,但是也成功看到了路径效果。

证明复制成功。

 

 

● 清除遮罩过滤器

 

帮助文档如下图:

顾名思义,就是用来清除设置的各种“遮罩过滤器”

调用方式:“画笔变量.清除遮罩过滤器()”

 

 

● 清理阴影层

 

帮助文档如下图:

顾名思义,就是用来清理设置的“阴影效果”

调用方式:“画笔变量.清理阴影层()”

 

 

● 取文本边界矩形
● 取文本边界矩形2
● 取文本边界矩形3

 

“取文本边界矩形”帮助文档:

简单来说,就是取出指定文本的“边界数据”放入到“矩形类”中。

也就是“参数3”,通过“矩形类”的各种“读属性”,可以读取文本的各种数据。

 

“取文本边界矩形2”帮助文档:

本方法与“取文本边界矩形”不同之处在于,本方法多了两个参数。

分别为“起始字符索引位置”“字符数目”,用来取出文本区间。

 

“取文本边界矩形3”帮助文档:

本方法和“2”不同之处在于,本方法要取的为“字符数组”

字符数组的创建可以通过“文本到字符数组()”方法进行转换。

 

代码编写如下图:

此处举例“取文本边界矩形()”方法。

定义画笔类变量,设置“颜色”“字体尺寸”

随后定义“矩形类”变量,然后将变量写入“取文本边界矩形”参数内。

最后就可以通过“矩形.高度”“宽度”读属性,读取文本的高度和宽度数值。

 

运行效果如下图:

 

 

● 取文本宽度
● 取文本宽度2
● 取文本宽度3

 

“取文本宽度”帮助文档:

根据“画笔类”指定的相关属性,例如“字体尺寸”等,返回最终要绘制文本的“宽度”

直接把想要计算的文本,填入参数内即可,返回值为一个小数。

 

“取文本宽度2”帮助文档:

本方法和“取文本宽度”不同之处在于,本方法多了一个两个参数。

分别为“其实字符位置”“字符数目”用来指定文本区间。

 

“取文本宽度3”帮助文档:

本方法和“2”的不同之处在于,要判断的“参数2”“字符数组”

以上三个调用方法:“画笔变量.”+“方法名()”

 

 

● 取文本路径
● 取文本路径2
● 取文本路径3

 

“取文本路径”帮助文档:

本方法有点类似于“复制路径”

不同之处,本方法是通过指定文本和对应的坐标,创建一条路径对象,赋值给“参数5”

 

“取文本路径2”帮助文档:

本方法与“取文本路径”不同之处在于,多了两个参数,用来指定文本区间。

分别为“起始字符索引位置”“字符数目”

 

“取文本路径3”帮助文档:

本方法和“2”的不同之处在于,所基于的文本是“字符数组”

以上三个方法应用场景可参考:“复制路径”

 

 

● 取文本字符宽度
● 取文本字符宽度2
● 取文本字符宽度3

 

“取文本字符宽度”帮助文档:

简单来说,就是根据设置的“各种字体属性”计算出一串文本中。

每个字符的宽度,然后这些宽度会放入到“浮点小数数组”中,也就是“参数3”

参数2:直接放入需要计算的文本即可。

 

“取文本字符宽度2”帮助文档:

本方法与“取文本字符宽度”不同之处在于,本方法多了两个参数。

分别是“起始字符索引位置”“字符数目”,用来指定文本区间。

 

“取文本字符宽度3”帮助文档:

本方法与“2”的区别在于,本方法计算的是“字符数组”

 

代码编写如下图:

定义“画笔类”成员变量,设置“颜色”“字体尺寸”属性。

“异步绘制帧”事件下定义三个变量,分别为“浮点小数数组”,“小数[]”“整数”

浮点小数数组需要设置参考。

随后利用“画文本”方法,绘制指定文本做参考,不绘制文本也可以进行计算字符宽度。

然后需要用到“浮点小数数组.创建()”方法,创建10个成员赋值给定义的“浮点小数”变量。

然后就调用本方法计算指定文本,“浮点小数”变量填入参数内。

随后需要将“浮点小数”数组通过“浮点小数数组.到小数数组()”方法转换成小数,赋值给“小数数组”变量。

最后利用“循环”方法,将小数数组内的成员循环出来,绘制在画板上显示。

 

运行效果如下图:

可以看到在“字体尺寸为20”的情况下。

“汉字”的字符宽度为“20”

“字母”“数组”的字符宽度为“11”

英文标点符号“逗号”的字符宽度为“4”

 

 

● 取字体信息

 

帮助文档如下图:

简单来说,就是利用本方法根据设置的字体相关的属性,返回推荐的“行间距”

另外“参数2”中,可以根据本参数取出“字体上沿高度”等属性。

 

“绘制字体信息类”部分属性:

可以通过一下五个读属性,取出相关信息。

调用方式:“绘制字体信息类变量.XXX”

 

代码编写:

例如,设置“画笔类”变量字体尺寸为“20”

“异步绘制帧”事件下定义两个变量,分别为“绘制字体信息类”“小数”

“小数”变量,用作“取字体信息值”的返回值。

“绘制字体信息类”变量则放入“取字体信息值”的参数中。

最后用“提示框”方法弹出提示,显示结果。

 

运行效果如下图:

当字体尺寸为20dp时,推荐行间距为“23”单位是像素。

 

 

● 取字体整数信息

 

帮助文档如下图:

本方法和“取字体信息”不同之处就是,本方法所有的信息参数全部是“整数”

如果对数值精度有要求,还是建议使用“取字体信息”方法。

代码编写参考“取字体信息”,此处不再演示。