平凡之路

Android,H5,React Native,Hybrid,小程序

Android实现高斯模糊

心血来潮再来一篇博客,和大家分享一下高斯模糊技巧
核心代码如下:

/**
     * bitmap  对象进行模糊处理
     * @param sentBitmap 原图bitmap
     * @param context 上下文
     * @param radius 模糊系数
     * @return
     */
    @SuppressLint("NewApi") 
    public Bitmap handleBit(Bitmap sentBitmap,Context context,int radius){
        if (VERSION.SDK_INT > 16) {
            Bitmap bitmap = sentBitmap.copy(sentBitmap.getConfig(), true);

            final RenderScript rs = RenderScript.create(context);
            final Allocation input = Allocation.createFromBitmap(rs, sentBitmap, Allocation.MipmapControl.MIPMAP_NONE,
                    Allocation.USAGE_SCRIPT);
            final Allocation output = Allocation.createTyped(rs, input.getType());
            final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
            script.setRadius(radius);
            script.setInput(input);
            script.forEach(output);
            output.copyTo(bitmap);
            return bitmap;
        } else {
            return sentBitmap;
        }
    }

以上是把bitmap进行高斯模糊地方法,这是Android自带的高斯模糊处理方法,代码非常的简单,并且处理的效果非常匀称。
首先我们需要对屏幕进行截图获取bitmap对象,然后模糊处理bitmap,设置为背景就完成了简单地高斯模糊,但是这种方式有一个缺点,就是效率比较低,但这也是致命的缺点。如果大家想要详细了解,可以评论我给大家上传个demo

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/voidmain_123/article/details/49948337
个人分类: Android
上一篇Android定制日历,支持周月切换,日期标记,农历显示,节假日
下一篇Android保存照片到本地,并立即更新在相册显示
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭