当前位置:操作系统 > 安卓/Android >>

Android 颜色渲染(三) Shader颜色渲染

应用颜色渲染. 首先要介绍Android Api中关于颜色渲染的几个重要的类:
 
   Shader,BitmapShader,ComposeShader,LinearGradient,RadialGradient,SweepGradient
看一下它们之间的关系:
 
 public class Shader extends Object
该类作为基类主要是返回绘制时颜色的横向跨度。其子类可以作用与Piant。通过 piant.setShader(Shader shader);来实现一些渲染效果。之作用与图形不作用与bitmap。
构造方法为默认的构造方法。 
 
枚举:
emun Shader.TileMode 

定义了平铺的3种模式:
static final Shader.TileMode CLAMP: 边缘拉伸.

static final Shader.TileMode MIRROR:在水平方向和垂直方向交替景象, 两个相邻图像间没有缝隙.

Static final Shader.TillMode REPETA:在水平方向和垂直方向重复摆放,两个相邻图像间有缝隙缝隙.
 
方法:
1. boolean getLoaclMatrix(Matrix localM); 如果shader有一个非本地的矩阵将返回true.
    localM:如果不为null将被设置为shader的本地矩阵.
2. void setLocalMatrix(Matrix localM);
    设置shader的本地矩阵,如果localM为空将重置shader的本地矩阵。 
 
Shader的直接子类:
BitmapShader    : 位图图像渲染
LinearGradient  : 线性渲染
RadialGradient  : 环形渲染
SweepGradient   : 扫描渐变渲染/梯度渲染
ComposeShader   : 组合渲染,可以和其他几个子类组合起来使用
是不是很像Animation及其子类的关系(AlphaAnimation,RotateAnimation,ScaleAnimation,TranslateAnimation, AnimationSet)
既有具体的渲染效果,也有渲染效果的组合
 
下面说下Shader的使用步骤:
1. 构建Shader对象
2. 通过Paint的setShader方法设置渲染对象
3.设置渲染对象
4.绘制时使用这个Paint对象
 
补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,