欢迎来到代码驿站!

Android代码

当前位置:首页 > 移动开发 > Android代码

Android RenderScript高斯模糊

时间:2020-11-17 01:42:29|栏目:Android代码|点击:

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

本文地址:http://www.codeinn.net/misctech/23545.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有