Android实现高斯模糊

【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

    推荐阅读