0
点赞
收藏
分享

微信扫一扫

Android 使用MaskFilter为Paint设置效果,android应用开发案例教程

伊人幽梦 2022-03-19 阅读 88

NORMAL:在目标内外显示面具,从边缘向目标内和目标外到离边缘radius宽的地方,向外显示面具时都会同时显示在目标边缘处获得的颜色。

OUTER:在目标外显示面具,从边缘向目标外到离边缘radius宽的地方,并且该部分会显示出从目标边缘获得的颜色,不显示目标

SOLID:在目标外显示面具,从边缘向目标外到离边缘radius宽的地方,并且该部分会显示出从目标边缘获得的颜色,显示目标

看初始化函数

BlurMaskFilter(float radius, BlurMaskFilter.Blur style),

两个变量,一个是显示时从边缘到离边缘多宽的值,一个是显示模式,简单应用如下

Bitmap b1=BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable.a07);

BlurMaskFilter bmf=new BlurMaskFilter(30f,BlurMaskFilter.Blur.SOLID);

Paint paint=new Paint();

paint.setMaskFilter(bmf);

canvas.drawBitmap(b1, 30, 30, paint);

et/linghu_java/article/details/47439525)EmbossMaskFilter

==============================================================================

这是一个使用后会在目标上显示凹凸不平水印的面具。看初始化

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

direction包含3个值,x,y,z,用来指示光源照的方向。

ambient 范围0-1,表示光的强度系数

specular 表示镜子的高亮系数

blurRadius 在使用光之前的模糊不清的面具的宽度。

说实话这几个参数,除了最后一个参数很好明白是什么意思,干什么用的之外,其余3个都不好懂,怎么取值能得到什么样的效果也不好确定,不够直观。

简单看下应用:

float direction[]={1,1,1};

EmbossMaskFilter emf=new EmbossMaskFilter(direction,0.5f,8f,3f);

Paint paint=new Paint(Paint.DITHER_FLAG);

paint.setMaskFilter(emf);

paint.setColor(Color.RED);

canvas.drawRect(10, 10, 100, 30, paint);

文末

好了,今天的分享就到这里,如果你对在面试中遇到的问题,或者刚毕业及工作几年迷茫不知道该如何准备面试并突破现状提升自己,对于自己的未来还不够了解不知道给如何规划,可以来看看同行们都是如何突破现状,怎么学习的,来吸收他们的面试以及工作经验完善自己的之后的面试计划及职业规划。

还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

【Android核心高级技术PDF文档,BAT大厂面试真题解析】

【延伸Android必备知识点】

举报

相关推荐

0 条评论