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:
- 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);
SDK中包含的FingerPaint API demo是说明如何使用MaskFilter的一个非常好的例子。它展示了这两种filter的效果。
本文介绍了Android中的EmbossMaskFilter类,用于实现浮雕效果。通过设置光源方向、环境光强度、反射系数和模糊半径参数,可以创建不同的浮雕效果。示例代码展示了如何应用EmbossMaskFilter到Paint对象上,以添加浮雕效果。

1654

被折叠的 条评论
为什么被折叠?



