Blurry 高斯模糊库的使用

本文介绍如何使用Blurry库在安卓应用中实现模糊背景效果。通过两种方式设置模糊背景:一是将view直接设置为模糊背景;二是将bitmap设置为模糊背景。并详细解释了在fragment状态下的具体操作步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Blurry的库的地址:https://github.com/wasabeef/Blurry

首先,获取需要被模糊的图片,可以为view,bitmap等。
然后,使用框架将模糊后的背景进行填充
两种方式

设置方式一:将view设置为模糊背景
Blurry.with(mContext).radius(20).capture(decorView).into(mBackground); //mBackground 为ImageView

设置方式二:将bitmap设置为模糊背景
Blurry.with(mContext).radius(20).from(bitmap).into(mBgIv);

		//在fragment状态下,获取背景view
        View decorView = getActivity().getWindow().getDecorView();
        
		//如果无须剪裁获取的view,则直接将获取的view进行模糊,然后设置到背景布局上
        /****************************** 重点 ***********************/
       	//设置方式一:将viw设置为模糊背景
        Blurry.with(mContext).radius(20).capture(decorView).into(mBackground); //mBackground 为ImageView
		//则完成背景模糊的设置

		//如果需要将获取的背景view继续剪裁,则需要将view设置为可缓存的。
		//这样避免一会儿创建获取bitmap的时候为null。创建成bitmap是为了可以创建一个手动设置剪裁后的view
		decorView.setDrawingCacheEnabled(true);
		//设置不会自动伸缩
        decorView.buildDrawingCache();
        //创建一个将viw剪裁为从底部到上部高为400,宽为view的宽度的剪裁后的bitmap
        Bitmap bitmap = Bitmap.createBitmap(decorView.getDrawingCache(), 0, decorView.getHeight() - 400, decorView.getWidth(), 400);
        //销毁缓存,此时要结合自身业务,如果每次都是相同的背景,则无须进行销毁,但如果每次模糊的背景都是变化的,则需要进行销毁,并每次创建,如果不销毁,即使从上面走下来,还是会调用缓存的view.
         decorView.destroyDrawingCache();
       
         /****************************** 重点 ***********************/
         //设置方式二:将bitmap设置为模糊背景
         Blurry.with(mContext).radius(20).from(bitmap).into(mBgIv);


        
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值