Android RenderScript高斯模糊
短信预约 -IT技能 免费直播动态提醒
看代码的时候,看到了其中有.rs结尾的文件,不是很明白,还有RenderScript类,看的一脸蒙蔽,不知所云,然后百度了一下,收货还真不少,这东西在图形处理这块用处挺大的。
今天先说说ScriptIntrinsicBlur,这个类不需要定义rs文件,从这个Intrinsic单词可以看的出来,它是API17以后内置的类,专门用来处理图像的,让图片变模糊。
public static Bitmap blurBitmap(Bitmap bitmap, float radius, Context context) {
//创建渲染脚本上下文
RenderScript rs = RenderScript.create(context);
//为位图分配内存
Allocation allocation = Allocation.createFromBitmap(rs, bitmap);
Type t = allocation.getType();
//用同样的类型创建内存,一般用这两种方式创建 <span style="font-family: Arial, Helvetica, sans-serif;">Allocation</span>
Allocation blurredAllocation = Allocation.createTyped(rs, t);
//创建高斯渲染脚本
ScriptIntrinsicBlur blurScript = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
//设置模糊半径 (maximum 25.0)
blurScript.setRadius(radius);
//为脚本设置输入参数
blurScript.setInput(allocation);
//调用脚本 结果存入 <span style="font-family: Arial, Helvetica, sans-serif;">blurredAllocation中</span>
blurScript.forEach(blurredAllocation);
//把脚本结果存入位图中 因为为native层渲染,所以结果需要复制到上层
blurredAllocation.copyTo(bitmap);
//Destroy everything to free memory
allocation.destroy();
blurredAllocation.destroy();
blurScript.destroy();
t.destroy();
return bitmap;
}
您可能感兴趣的文章:Android实现图片转高斯模糊以及高斯模糊布局Android实现图片的高斯模糊(两种方式)Android实现动态高斯模糊效果示例代码Android 实现图片模糊、高斯模糊、毛玻璃效果的三种方法Android 实现高斯模糊效果且兼容低版本Android 动态高斯模糊效果教程Android 高仿微信语音聊天页面高斯模糊(毛玻璃效果)Android实现动态高斯模糊效果Android 摄像头高斯模糊的示例代码
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341