iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android RenderScript高斯模糊
  • 607
分享到

Android RenderScript高斯模糊

Android 2022-06-06 05:06:24 607人浏览 泡泡鱼
摘要

看代码的时候,看到了其中有.rs结尾的文件,不是很明白,还有RenderScript类,看的一脸蒙蔽,不知所云,然后百度了一下,收货还真不少,这东西在图形处理这块用处挺大的。

看代码的时候,看到了其中有.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 摄像头高斯模糊的示例代码


--结束END--

本文标题: Android RenderScript高斯模糊

本文链接: https://www.lsjlt.com/news/23139.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作