介绍
在自定义View的时候 我们可能需要对自定义View 做出一些阴影效果 在Android5.0后提供了Cardview 可以去轻松实现 其实还可以通过paint.setMaskFilter(MaskFilter maskfilter)去实现 参数MaskFilter 有2个子类

BlurMaskFilter:模糊遮罩滤镜 改变图像的透明度值来实现的
EmbossMaskFilter:浮雕遮罩滤镜 类似于灯光照射效果
使用:
BlurMaskFilter
new BlurMaskFilter(50,BlurMaskFilter.Blur.SOLID)
第一个参数代表阴影的半径值 第二个参数代表阴影的样式
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//绘制原图
canvas.drawBitmap(bitmap,50,50,null);
paint.setMaskFilter(new BlurMaskFilter(50,BlurMaskFilter.Blur.SOLID));
canvas.drawBitmap(bitmap,50,bitmap.getHeight()+100,paint);
}
注意:使用paint.setMaskFilter()需要将硬件加速关闭 一般在自定义View的构造方

本文介绍了如何在自定义View中实现阴影效果,主要讲解了BlurMaskFilter和EmbossMaskFilter的使用。BlurMaskFilter的四个常量(SOLID, NORMAL, OUTER, INNER)分别对应不同的阴影样式,其中SOLID可能导致彩色图片阴影颜色异常。EmbossMaskFilter则能创建类似浮雕的效果,但应用较少。"
95627814,8669501,ROS NodeHandle订阅函数subscribe()使用错误解析,"['ROS开发', 'C++', 'boost库', '消息处理']
最低0.47元/天 解锁文章
928

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



