EmbossMaskFilter介绍

EmbossMaskFilter类用于实现浮雕效果,构造方法如下:

public EmbossMaskFilter(float[] direction,float ambient,float specular,float blurRadius)

direction:该参数必须是一个长度为3的浮点型数组,表示光源从x、y、z照射曲线的方向

ambient:表示周围光源的数量,取值范围是0..1

specular:光照的反射系数,在本例中取值为6

blurRadius:在光照前喷涂的范围


EmbossMaskFilter  指定了光源的方向和环境光强度来添加浮雕效果。

要应用一个MaskFilter,可以使用setMaskFilter方法,并传递给它一个MaskFilter对象。下面的例子是对一个已经存在的Paint应用一个EmbossMaskFilter:

Java代码   收藏代码
  1.  1// 设置光源的方向    
  2.  2float[] direction = new float[]{ 111 };    
  3.  3//设置环境光亮度    
  4.  4float light = 0.4f;    
  5.  5// 选择要应用的反射等级    
  6.  6float specular = 6;    
  7.  7// 向mask应用一定级别的模糊    
  8.  8float blur = 3.5f;    
  9.  9. EmbossMaskFilter emboss=new EmbossMaskFilter(direction,light,specular,blur);    
  10. 10.    
  11. 11// 应用mask    
  12. 12. myPaint.setMaskFilter(emboss);   

 SDK中包含的FingerPaint API demo是说明如何使用MaskFilter的一个非常好的例子。它展示了这两种filter的效果。




你可能感兴趣的:(EmbossMaskFilter介绍)