着色器类实例讲解

作者:创世魂

 

● 本类说明

 

使用本类中的方法,可以实现一些特殊的贴图效果和渐变色的填充。

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

 

 

● 创建扫描渐变着色器

 

帮助文档如下图:

本方法的作用,是创建一个“扫描样式”的渐变颜色图形。

注意:“参数1和2”中的横纵坐标是针对整个画布的横纵坐标。

 

代码编写如下图:

定义“画笔类”变量,然后给“画笔.着色器”赋值“创建扫描渐变着色器()”,方法内填写对应的“坐标”和想要渐变的“颜色”参数。

最后调用“画圆”方法,将“渐变颜色图形”填充在“圆形”内。

 

运行效果如下图:

可以看到,图形中的“红色”是从“3点钟”开始,然后“顺时针”发生“渐变”,慢慢的变成了“绿色”

 

 

● 创建扫描渐变着色器2

 

帮助文档如下图:

本方法与上个方法不同之处在于,想要渐变的颜色变成了“整数数组”

通过本数组可以一次性实现“多个颜色”的渐变。

注意:如果要填写“参数4”请注意红框内的说明。

如果填写为空对象,将均匀渐变。

 

代码编写如下图:

定义“整数数组”变量,分别设置“三个颜色”成员。

然后调用本方法,将“颜色数组”写入参数中即可,“参数4”我这里填写空对象。

最后调用“画圆”方法,将颜色填充在圆形内。

 

运行效果如下图:

最后可以看到实现了三个颜色的渐变。

 

 

● 创建位图着色器

 

帮助文档如下图:

本方法的作用是进行贴图。

代码编写可参考“画笔类.着色器”属性,此处不再讲解。

 

 

● 创建线性渐变着色器

 

帮助文档如下图:

本方法的作用就是创建一个线性的渐变色,最终的样式是倾斜形状的。

本方法与“扫描渐变”的区别是多了一个“着色器平铺方式”,并且有“两个”横纵坐标。

“着色器平铺方式”内有三个常量可供调用。

 

代码编写如下图:

调用本方法填写对应参数,可以使用“画矩形”方法,针对绘制的矩形进行渐变色填充。

最终的效果:“蓝色”“绿色”渐变,“平铺方式”使用“重复”

 

运行效果如下图:

可以看到本渐变色并不是垂直上下,而是有一定切斜角度的渐变色。

并且采用了“重复”模式。

 

 

● 创建线性渐变着色器2

 

帮助文档如下图:

本方法和“创建扫描渐变着色器2”一样,也是把颜色值变成了“整数数组”

并且同样也有一个“浮点小数数组”用来定义渐变颜色“起始位置”

如果填写为空对象,将均匀渐变。

大家可自行填写参数进行测试,感受效果的变化,此处不再演示。

 

 

● 创建圆形渐变着色器

 

帮助文档如下图:

本方法的作用就是通过指定的“横纵坐标”“半径值”进行创建一个圆形的渐变色。

参数4、5填写想要渐变的“颜色值”即可。

 

代码编写如下图:

调用本方法填写相关“坐标、半径和颜色值”,平铺方式选择“重复”

最后绘制在一个矩形内。

 

运行效果如下图:

最终可以看到形成了一个圆形的渐变色,并且在“重复渐变”

半径的距离是指:从“起始颜色”的中心点到“结束色”的最边缘的距离。

 

 

● 创建圆形渐变着色器2

 

帮助文档如下图:

本方法和“创建扫描渐变着色器2”一样,也是把颜色值变成了“整数数组”

并且同样也有一个“浮点小数数组”用来定义渐变颜色“起始位置”

大家可自行填写参数进行测试,此处不再演示。

 

 

● 创建复合着色器

 

帮助文档如下图:

本方法的作用就是将两个“着色器类”组合起来,并且还可以添加“图像混合方式”

 

代码编写如下图:

定义两个“着色器类”变量,然后分别创建两个不同的“渐变着色器”赋值给对应的变量。

随后调用本方法,将两个“着色器变量”写入参数,使用“图像混合方式.加亮”算法。

最后绘制在画板上。

 

运行效果如下图: