使用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. float light = 0.4f; 5. // 选择要应用的反射等级 6. float specular = 6; 7. // 向mask应用一定级别的模糊 8. float blur = 3.5f; 9. EmbossMaskFilter emboss=new EmbossMaskFilter(direction,light,specular,blur); 10. 11. // 应用mask 12. myPaint.setMaskFilter(emboss);