一、Shader简介
Shader被称为着色器或是渲染,Shader有几个直接子类:
BitmapShader : 主要用来渲染图像
LinearGradient :用来进行线性渲染
RadialGradient : 用来进行环形渲染
SweepGradient : 扫描渐变—围绕一个中心点扫描渐变就像电影里那种雷达扫描,用来梯度渲染。
ComposeShader : 组合渲染,可以和其他几个子类组合起来使用。
二、分类介绍
首先我们根据API来看一下上面四种不同的子类的渲染效果
1、BitmapShader (位图着色器)
参数介绍:Bitmap (位图)后面两个分别是X轴与Y轴的Mode形式
下面是Bipmapshader的三种Mode形式
CLAMP:如果渲染器超出原始边界范围,将复制边缘进行渲染(实际上是右下角的颜色)
MIRROR:横向和纵向的重复渲染器图片,交替镜像,即使图片不是很衔接。
REPEAT:横向和纵向的重复渲染器图片,平铺。
2、LinearGradient (线性渐变)
参数介绍:
x0/x1:线性渐变的起始(停止)X坐标
Y0/y1:线性渐变的起始(停止)X坐标
color0/color1:线性渐变的起始(停止)的颜色
title:模式就是我们BitmapShader中介绍的三种mode(CLAMP、MIRROR、REPEAT)
3、RadialGradient (环型渐变)
参数介绍:
centerX/Y:着色器开始渐变的中心坐标
radius:半径
centercolor:中心颜色
edagecolor:边缘颜色
tilemode:BitmapShader中的三种mode相同
4、SweepGradient (扫描渐变)
SweepGradient 颜色渐变方向非环形,而是以某点为圆心呈扇形扫过。
参数介绍:
cx,cy :着色器开始渐变的中心坐标,
color1,color0 或 colors: 指定渐变的颜色 ,对于使用多于两种颜色时,还可以通过positions 指定每种颜色的相对位置,positions 设为NULL时表示颜色均匀分布。
5、ComposeShader(组合渐变)
参数介绍:
Parameters
shaderA The colors from this shader are seen as the “dst” by the mode(画笔Xfermode的风格是dst模式则渲染器的颜色将为dst遮罩层)
shaderB The colors from this shader are seen as the “src” by the mode(画笔Xfermode的风格是src模式则渲染器的颜色将为Src层)
mode The PorterDuff mode that combines the colors from the two shaders. (组合PorterDuff 模式与着色器的颜色)
这里只进行几种shader的简单介绍,具体介绍,后面的博客中会继续补充。