时间:2021-05-20
看代码的时候,看到了其中有.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; }以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、效果演示项目中用到了高斯模糊效果,查阅过一些资料,考虑到性能问题最终还是选择使用Android自带的RenderScript库来实现,关于使用RenderS
本文实例讲解了Android虚化图片、模糊图片、图片毛玻璃效果的实现方法,具体内容如下效果如图:在Android可以用RenderScript方便的实现这个方法
高斯模糊 高斯模糊是美国Adobe图像软件公司开发的一个做图软件:AdobePhotoshop(系列)中的一个滤镜,具体的位置在:滤镜—模糊——高斯模糊。
premiere在为视频添加了高斯模糊效果之后,我们知道默认都是整个视频画面会产生高斯模糊的效果,如果现在我只希望在垂直方向上呈现出高斯模糊的效果的话,该如何来
本文实例为大家分享了Unityshader实现高斯模糊效果的具体代码,供大家参考,具体内容如下正常图:高斯模糊效果图:shader代码:Shader"Custo