一行代码实现高斯模糊

简介: 前言:有一个音乐播放器的项目,背景需要根据歌曲的封面进行模糊展示,搜罗了很久,找到一个不错的解决方案,不需要我们进行NDK的开发,android帮我们在framework实现好了借鉴/** * 模糊图片 * @param bi...

前言:有一个音乐播放器的项目,背景需要根据歌曲的封面进行模糊展示,搜罗了很久,找到一个不错的解决方案,不需要我们进行NDK的开发,android帮我们在framework实现好了借鉴

/**
     * 模糊图片
     * @param bitmap 原图片
     * @param radius 模糊度  0~25
     * @param context
     * @return 模糊后的图片
     */
    public static Bitmap blurBitmap(Bitmap bitmap, float radius, Context context) {
    //Create renderscript
    RenderScript rs = RenderScript.create(context);
 
    //Create allocation from Bitmap
    Allocation allocation = Allocation.createFromBitmap(rs, bitmap);
    
    Type t = allocation.getType();
 
    //Create allocation with the same type
    Allocation blurredAllocation = Allocation.createTyped(rs, t);
 
    //Create script
    ScriptIntrinsicBlur blurScript = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
    //Set blur radius (maximum 25.0)
    blurScript.setRadius(radius);
    //Set input for script
    blurScript.setInput(allocation);
    //Call script for output allocation
    blurScript.forEach(blurredAllocation);
 
    //Copy script result into bitmap
    blurredAllocation.copyTo(bitmap);
 
    //Destroy everything to free memory
    allocation.destroy();
    blurredAllocation.destroy();
    blurScript.destroy();
    t.destroy();
    rs.destroy();
    return bitmap;
}

感谢android,感谢开源

相关文章
|
8月前
|
算法 计算机视觉
图像处理之基于一维高斯快速模糊
图像处理之基于一维高斯快速模糊
53 8
|
9月前
|
Python
优化哈里斯角例子
优化哈里斯角例子。
38 2
|
8月前
|
算法 BI 计算机视觉
图像处理之积分图应用一(半径无关的快速模糊算法)
图像处理之积分图应用一(半径无关的快速模糊算法)
67 0
|
8月前
|
机器学习/深度学习 资源调度 算法
图像处理之高斯模糊
图像处理之高斯模糊
96 0
|
数据挖掘
插值应用案例1
插值应用案例1
115 0
|
存储 人工智能 算法
【高精度加减乘除法、一维二维前缀和&&差分】思路讲解及代码实现
用一篇Blog来讲解下最近学到的高精度加减乘除法、一维二维前缀和&&差分等算法,为日后的刷题打下坚实的基础。
115 0
|
小程序
小程序实现全屏幕高斯模糊背景图
小程序实现全屏幕高斯模糊背景图
220 0
|
机器学习/深度学习 算法 计算机视觉
基于python实现最近邻插值双线性插值径向基函数插值(代码实现详细教程)
基于python实现最近邻插值双线性插值径向基函数插值(代码实现详细教程)
500 0
基于python实现最近邻插值双线性插值径向基函数插值(代码实现详细教程)
|
算法 计算机视觉 Python
最邻近插值算法(Python源码示例)
最邻近插值算法(Python源码示例)
328 0
最邻近插值算法(Python源码示例)

热门文章

最新文章