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
推荐阅读
- android第三方框架(五)ButterKnife
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- Android中的AES加密-下
- 带有Hilt的Android上的依赖注入
- 孩子不是实现父母欲望的工具——林哈夫
- opencv|opencv C++模板匹配的简单实现
- Node.js中readline模块实现终端输入
- java中如何实现重建二叉树