blurkit-android背景模糊(图片和背景均可)

介绍:

一个性能优秀的快速背景模糊库。

运行效果:

使用说明:

性能

因为一些列的位图检索和绘制方面的性能优化,BlurKit快于其它的模糊库。下面是对一张基本的高清图片做的300dp x 100dp模糊:

Task BlurKit time Avg. time without BlurKit
Retrieve source bitmap 1-2 ms 8-25 ms
Blur and draw to BlurView 1-2 ms 10-50ms


设置

把BlurKit添加到依赖中:

 
    
  1. compile 'com.wonderkiln:blurkit:1.0.0'

你还需要向module中添加RenderScript,在build.gradle的defaultConfig块中添加如下代码:

 
    
  1. renderscriptTargetApi 24
  2. renderscriptSupportModeEnabled true

BlurLayout

添加BlurLayout

 
    
  1.     android:id="@+id/blurLayout"
  2.     android:layout_width="150dp"
  3.     android:layout_height="150dp">
  4.  
  5.     
  6.         android:layout_width="wrap_content"
  7.         android:layout_height="wrap_content"
  8.         android:layout_gravity="center"
  9.         android:text="BlurKit!"
  10.         android:textColor="@android:color/white" />
  11.  

这个布局的背景将持续为后面的内容增加模糊效果。如果你知道你的背景内容是静态的,可以把layout的fps设置为0。任何时候都可以调用BlurLayout的invalidate()重新模糊背景内容。

 
    
  1.  xmlns:blurkit="http://schemas.android.com/apk/res-auto"
  2.     android:id="@+id/blurLayout"
  3.     android:layout_width="150dp"
  4.     android:layout_height="150dp"
  5.     blurkit:fps="0" />

其它属性包括模糊半径和 downscale factor。可以用它们做一些实验。 

 
    
  1.  xmlns:blurkit="http://schemas.android.com/apk/res-auto"
  2.     android:id="@+id/blurLayout"
  3.     android:layout_width="150dp"
  4.     android:layout_height="150dp"
  5.     blurkit:blurRadius="12"
  6.     blurkit:downscaleFactor="0.12"
  7.     blurkit:fps="60" />

其它

BlurKit还含有一些有用的模糊工具。但是在这之前(如果不是用BlurLayout),你需要初始化BlurKit。

 
    
  1. public class MyApplication extends Application {
  2.     @Override
  3.     public void onCreate() {
  4.         BlurKit.init(this);
  5.     }
  6. }

你可以直接模糊一个View或者一个Bitmap。

 
    
  1. // View
  2. BlurKit.blur(View src, int radius);
  3.  
  4. // Bitmap
  5. BlurKit.blur(Bitmap src, int radius);

你还可以快速模糊一个View。

 
    
  1. BlurKit.fastBlur(View src, int radius, float downscaleFactor);

你可能感兴趣的:(Androidの图片处理集)