热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

android图片高斯模糊

HokoBlur项目地址:HokoFlyHokoBlur简介:aneasy-to-useblurlibraryforAndroid,supporte

HokoBlur

项目地址:HokoFly/HokoBlur 

简介:an easy-to-use blur library for Android, support efficient dynamic blur jobs.

更多:作者   提 Bug   

标签:

 

(中文版本请参看这里)

HokoBlur is an Android component which provides dynamic blur effect.

1. Introductions


  • Functions:

    • Add blur to the image;
    • Dynamic blur, real-time blurring of the background
  • Features:

    • Multiple schemes: RenderScript、OpenGL、Native and Java;
    • Multiple algorithms: Box、Stack and Gaussian algorithms. Provide different blur effect;
    • Multi-core and multi-threading, accelerate blurring,asynchronous interface;
    • ?iOS-like dynamic backgroud blur: Compared to using RenderScript to process bitmaps, the component has better performance and effect.

2. Getting started

Download

implementation 'com.hoko:hoko-blur:1.3.3'

Static Blur

synchronous api

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

Daily development does not need such complicated settings. If you want a blur effect, just use as follow:

Bitmap outBitmap = Blur.with(context).blur(bitmap);

When it comes to a large size bitmap, it is recommended to use an asynchronous method. The blur job could be cancelled.

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() {@Overridepublic void onBlurSuccess(Bitmap outBitmap) {// do something...}@Overridepublic void onBlurFailed() {}});
f.cancel(false);

3. Sample

Animation

动态模糊


推荐阅读
author-avatar
_Yoha
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有