全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android实现图片的高斯模糊(两种方式)

在市面上很多的APP都使用了对图片作模糊化处理后作为背景的效果,来使得整个页面更具有整体感。如下就是网易云音乐的音乐播放页面:

很明显这个页面的背景是由中间的小图片模糊化后而来的。最常用的模糊化处理就是高斯模糊。

高斯模糊的几种实现方式:

(1)RenderScript

RenderScript是Google在Android 3.0(API 11)中引入的一个高性能图片处理框架。

使用RenderScriprt实现高斯模糊:

首先在在build.gradle的defaultConfig中添加RenderScript的使用配置

renderscriptTargetApi 24
renderscriptSupportModeEnabled true

renderscriptTargetApi :

指定要生成的字节码版本。我们(Goole官方)建议您将此值设置为最低API级别能够提供所有的功能,你使用和设置renderscriptSupportModeEnabled为true。此设置的有效值是从11到
最近发布的API级别的任何整数值。

renderscriptSupportModeEnabled:

指定生成的字节码应该回落到一个兼容的版本,如果运行的设备不支持目标版本。

下面就是使用RenderScriprt实现高斯模糊的方法:

public static Bitmap blurBitmap(Context context, Bitmap bitmap) {
 //用需要创建高斯模糊bitmap创建一个空的bitmap
Bitmap outBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
 // 初始化Renderscript,该类提供了RenderScript context,创建其他RS类之前必须先创建这个类,其控制RenderScript的初始化,资源管理及释放
 RenderScript rs = RenderScript.create(context);
 // 创建高斯模糊对象
 ScriptIntrinsicBlur blurScript = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
 // 创建Allocations,此类是将数据传递给RenderScript内核的主要方 法,并制定一个后备类型存储给定类型
 Allocation allIn = Allocation.createFromBitmap(rs, bitmap);
 Allocation allOut = Allocation.createFromBitmap(rs, outBitmap);
 //设定模糊度(注:Radius最大只能设置25.f)
 blurScript.setRadius(15.f);
 // Perform the Renderscript
 blurScript.setInput(allIn);
 blurScript.forEach(allOut);
 // Copy the final bitmap created by the out Allocation to the outBitmap
 allOut.copyTo(outBitmap);
 // recycle the original bitmap
 // bitmap.recycle();
 // After finishing everything, we destroy the Renderscript.
 rs.destroy();
 return outBitmap;
 }

(2)Glide实现高斯模糊

Glide是一个比较强大也是比较常用的一个图片加载库,Glide中的Transformations用于在图片显示前对图片进行处理。glide-transformations 这个库为Glide提供了多种多样的 Transformations实
现,其中就包括高斯模糊的实现BlurTransformation

compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'jp.wasabeef:glide-transformations:2.0.1' 

 通过这两个库的结合使用,就可以使用其中的BlurTransformation实现图片的高斯模糊

Glide.with(context).load(R.drawable.defalut_photo).bitmapTransform(new BlurTransformation(context, radius)).into(mImageView);

其中radius的取值范围是1-25,radius越大,模糊度越高。

以上所述是小编个大家介绍的Android实现图片的高斯模糊,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!


# android  # 图片高斯模糊  # Android实现图片转高斯模糊以及高斯模糊布局  # Android Picasso使用高斯模糊处理的示例代码  # Android 摄像头高斯模糊的示例代码  # Android项目实战之Glide 高斯模糊效果的实例代码  # 浅析Android高斯模糊实现方案  # Android仿微信通话背景的高斯模糊效果  # Android实现图片高斯模糊  # Android 三行代码实现高斯模糊效果  # 高斯  # 小编  # 是一个  # 有效值  # 是由  # 而来  # 是从  # 这两个  # 此类  # 几种  # 不支持  # 网易  # 多种多样  # 越大  # 将此  # 很明显  # 越高  # 建议您  # 高性能  # 设置为 


相关文章: PHP 500报错的快速解决方法  专业商城网站制作公司有哪些,pi商城官网是哪个?  C#如何在一个XML文件中查找并替换文本内容  如何通过FTP服务器快速搭建网站?  如何用已有域名快速搭建网站?  如何通过VPS建站实现广告与增值服务盈利?  高防服务器:AI智能防御DDoS攻击与数据安全保障  如何选购建站域名与空间?自助平台全解析  简历在线制作网站免费版,如何创建个人简历?  Android自定义listview布局实现上拉加载下拉刷新功能  用v-html解决Vue.js渲染中html标签不被解析的问题  ppt制作免费网站有哪些,ppt模板免费下载网站?  建站之星后台密码遗忘或太弱?如何重置与强化?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  如何构建满足综合性能需求的优质建站方案?  高端网站建设与定制开发一站式解决方案 中企动力  建站之星导航如何优化提升用户体验?  建站之星ASP如何实现CMS高效搭建与安全管理?  如何高效配置香港服务器实现快速建站?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  javascript中的try catch异常捕获机制用法分析  在线制作视频的网站有哪些,电脑如何制作视频短片?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  测试制作网站有哪些,测试性取向的权威测试或者网站?  如何制作一个表白网站视频,关于勇敢表白的小标题?  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何在IIS管理器中快速创建并配置网站?  如何选择适合PHP云建站的开源框架?  移民网站制作流程,怎么看加拿大移民官网?  建站主机选择指南:服务器配置与SEO优化实战技巧  如何选择高效稳定的ISP建站解决方案?  如何在云主机快速搭建网站站点?  网站制作费用多少钱,一个网站的运营,需要哪些费用?  建站VPS推荐:2025年高性能服务器配置指南  建站VPS能否同时实现高效与安全翻墙?  建站与域名管理如何高效结合?  三星网站视频制作教程下载,三星w23网页如何全屏?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  网站代码制作软件有哪些,如何生成自己网站的代码?  建站之星24小时客服电话如何获取?  详解jQuery中基本的动画方法  如何在阿里云高效完成企业建站全流程?  建站VPS选购需注意哪些关键参数?  建站之星后台管理系统如何操作?  定制建站价位费用解析与套餐推荐全攻略  网站制作知乎推荐,想做自己的网站用什么工具比较好?  大同网页,大同瑞慈医院官网?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  外汇网站制作流程,如何在工商银行网站上做外汇买卖? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。