MaskFilter 介绍

MaskFilter类可以为Paint分配边缘效果。

对MaskFilter的扩展可以对一个Paint边缘的alpha通道应用转换。

Android包含了下面几种MaskFilter:

BlurMaskFilter 指定了一个模糊的样式和半径来处理Paint的边缘。 EmbossMaskFilter
指定了光源的方向和环境光强度来添加浮雕效果。

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

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

可以看一下下面的图,是不是有浮雕的效果??
MaskFilter 介绍_第1张图片

再看下面使用BlurMaskFilter:

1 //前面一个控制阴影的宽度,后面一个参数控制阴影效果
2 maskFilter = new BlurMaskFilter(10, BlurMaskFilter.Blur.SOLID);

MaskFilter 介绍_第2张图片

是不是有阴影效果呢??

你可能感兴趣的:(MaskFilter)