EmbossMaskFilter BlurMaskFilter

来源:互联网 发布:安卓画板软件 编辑:程序博客网 时间:2024/06/15 15:29

使用MaskFilter

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

对MaskFilter的扩展可以对一个Paint边缘的alpha通道应用转换。Android包含了下面几种MaskFilter:

BlurMaskFilter 指定了一个模糊的样式和半径来处理Paint的边缘。

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

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

Java代码
  1. 1.// 设置光源的方向
  2. 2.float[] direction =newfloat[]{1,1,1 };
  3. 3.//设置环境光亮度
  4. 4.float light =0.4f;
  5. 5.// 选择要应用的反射等级
  6. 6.float specular =6;
  7. 7.// 向mask应用一定级别的模糊
  8. 8.float 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的效果。

 

原创粉丝点击