# HokoBlur **Repository Path**: chinasoft5_ohos/HokoBlur ## Basic Information - **Project Name**: HokoBlur - **Description**: 给图片添加模糊效果;动态模糊,对背景的实时模糊。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-08-11 - **Last Updated**: 2021-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HokoBlur #### 项目介绍 - 项目名称:HokoBlur - 所属系列:openharmony的第三方组件适配移植 - 功能:给图片添加模糊效果;动态模糊,对背景的实时模糊。 - 项目移植状态:主功能完成,动态模糊,对背景的实时模糊未完成 - 调用差异:无 - 开发版本:sdk6,DevEco Studio 2.2 Beta2 - 基线版本:Releases 1.3.5 #### 效果演示 ![example0](./img/hode.gif) #### 安装教程 1.在项目根目录下的build.gradle文件中, ```gradle allprojects { repositories { maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' } } } ``` 2.在entry模块的build.gradle文件中, ```gradle dependencies { implementation 'com.gitee.chinasoft_ohos:hoko_blur:1.0.0' ...... } ``` 在sdk6,DevEco Studio2.2 Beta2下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 #### 使用说明 使用该库非常简单,只需查看提供的示例的源代码。 ```java HokoBlur.with(context) .scheme(Blur.SCHEME_NATIVE) //different implementation, RenderScript、OpenGL、Native(default) and Java .mode(Blur.MODE_STACK) //blur algorithms,Gaussian、Stack(default) and Box .radius(10) //blur radius,max=25,default=5 .sampleFactor(2.0f) //scale factor,if factor=2,the width and height of a bitmap will be scale to 1/2 sizes,default=5 .forceCopy(false) //If scale factor=1.0f,the origin bitmap will be modified. You could set forceCopy=true to avoid it. default=false .needUpscale(true) //After blurring,the bitmap will be upscaled to origin sizes,default=true .translateX(150)//add x axis offset when blurring .translateY(150)//add y axis offset when blurring .processor() //build a blur processor .blur(bitmap); //blur a bitmap, synchronous method ``` ```java Future f = HokoBlur.with(this) .scheme(Blur.SCHEME_NATIVE) .mode(Blur.MODE_STACK) .radius(10) .sampleFactor(2.0f) .forceCopy(false) .needUpscale(true) .asyncBlur(bitmap, new AsyncBlurTask.CallBack() { @Override public void onBlurSuccess(Bitmap outBitmap) { // do something... } @Override public void onBlurFailed() { } }); f.cancel(false); ``` #### 测试信息 CodeCheck代码测试无异常 CloudTest代码测试无异常 病毒安全检测通过 当前版本demo功能与原组件基本无差异 #### 版本迭代 - 1.0.0 #### 版权和许可信息 [Apache License, Version 2.0](LICENSE)