RenderScript是android的计算图形框架。android的动态墙纸就是用了这一技术。本文学习一下把一张图片进行模糊显示处理。

集成Renderscript Support支持库

使用Gradle配置

在项目的build.gradle添加以下代码

[代码]xml代码:1

2

3

4

5

6android {

defaultConfig {

renderscriptTargetApi   19

renderscriptSupportModeEnabled   true

}

}

添加成功后,会发现android.support.v8.renderscript.*的类可以使用

使用RenderScript模糊图片

以下是模糊的核心代码

[代码]java代码:01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23public class BlurBuilder   {

private static final float BITMAP_SCALE = 0.4f;

private static final float BLUR_RADIUS = 7.5f;

public static Bitmap blur(Context context, Bitmap image) {

int width = Math.round(image.getWidth() *   BITMAP_SCALE);

int height = Math.round(image.getHeight() *   BITMAP_SCALE);

Bitmap   inputBitmap = Bitmap.createScaledBitmap(image, width, height, false);

Bitmap   outputBitmap = Bitmap.createBitmap(inputBitmap);

RenderScript   rs = RenderScript.create(context);

ScriptIntrinsicBlur   theIntrinsic = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));

Allocation   tmpIn = Allocation.createFromBitmap(rs, inputBitmap);

Allocation   tmpOut = Allocation.createFromBitmap(rs, outputBitmap);

theIntrinsic.setRadius(BLUR_RADIUS);

theIntrinsic.setInput(tmpIn);

theIntrinsic.forEach(tmpOut);

tmpOut.copyTo(outputBitmap);

return outputBitmap;

}

}

只需要适当地调整BITMAP_SCALE和BLUR_RADIUS这两个参数就可以了。

注意一点的是。导入的包一定要是android.support.v8.renderscript.*,不然就只能在Api 17(Android 4.3)的版本上使用。

如果要对一张Bitmap图片进行模糊,只需要调用上面的blur方法,生成一个新的Bitmap就可以了。

[代码]java代码:1

2Bitmap blurredBitmap = BlurBuilder.blur(   getActivity(), originalBitmap );

view.setBackgroundDrawable( new BitmapDrawable( getResources(), blurredBitmap   ) );

这是原图

压缩后的图片

android 图片虚化代码,Android模糊图片技术相关推荐

  1. python 图片数据清洗,图片去重,去掉模糊图片,去掉结构性相似的图片

    1.python代码去掉完全相同的图片,  重复的图片移动到另一文件夹保存 import shutil import numpy as np from PIL import Image import ...

  2. android 图片切割代码,Android用clip剪切图像资源

    使用clip剪切图像资源可以做进度条,图像慢慢展开的效果,他使用以下几个属性来控制效果: android:drawable:指定要剪切的原图像. android:clipOrientation:截取的 ...

  3. android取图片颜色代码,Android Palette 提取图片的主色调

    博主声明: 转载请在开头附加本文链接及作者信息,并标记为转载.本文由博主 威威喵 原创,请多支持与指教. 本文首发于此 博主:威威喵 | 博客主页:https://blog.csdn.net/smil ...

  4. android studio证件照代码,Android 修图(换证件照背景,污点修复)

    背景 前段时间的一个周末,一个女生让我帮她换一下他的证件照背景,我又没带电脑.我又不好意思拒接,怎么办呢?应用商店下载一个证件照换背景的APP,瞬间换完,我正准备保存时,跳出来一个支付框,如果你要保存 ...

  5. android 进度条 代码,Android 进度条使用详解及示例代码

    在这里,总结一下loading进度条的使用简单总结一下. 一.说起进度条,必须说说条形进度条,经常都会使用到嘛,特别是下载文件进度等等,还有像腾讯QQ安装进度条一样,有个进度总给人良好的用户体验. 先 ...

  6. android摄像头拍照代码,Android调用摄像头拍照开发教程

    现在很多应用中都会要求用户上传一张图片来作为头像,首先我在这接收使用相机拍照和在相册中选择图片.接下来先上效果图: 接下来看代码: 1.布局文件: xmlns:tools="http://s ...

  7. android 小白点代码,Android实现小圆点显示未读功能

    ####前言 以前我们实现这个功能都是用 BadgeView.java,大体就是将这个java类复制到自己的项目中,然后在项目中使用,今天讲的也是一款BadgeView,我将其封装称工具类Badget ...

  8. android qq 分享代码,Android将内容分享到QQ和微信实例代码

    具体代码如下所示: package dmpte.sharewechat; import android.annotation.SuppressLint; import android.app.Acti ...

  9. android相机拍照代码,Android 调用相机拍照,适配到Android 10

    今天写的博客是关于Android调用手机相机拍照并显示图片.这是一个很常用的功能,并且这个功能在Android6.0.7.0.10.0等版本上实现都有所不同,需要对Android各个版本进行兼容适配, ...

  10. android小球移动代码,Android自定义圆形View实现小球跟随手指移动效果

    本文实例为大家分享了Android实现小球跟随手指移动效果的具体代码,供大家参考,具体内容如下 一. 需求功能 手指在屏幕上滑动,红色的小球始终跟随手指移动. 实现的思路: 1)自定义View,在on ...

最新文章

  1. visual studio 自动整理代码
  2. BroadCastReceiver简介
  3. 街电与搜电网络营销外包合并,怪兽充电终上市共享充电市场将迎来新变化
  4. 利用Docker构建开发环境
  5. TensorFlow + Docker + PyCharm
  6. 如何调用java的包_jsp如何调用java包
  7. 解决asp.net(C#)中 DataTime 空值 null为0001-01-01
  8. Android自定义控件之仿汽车之家下拉刷新
  9. SpringBoot 信息输出
  10. opengl2 vtk 编译_编译和使用VTK时值得注意的点(待续)
  11. Regal灰度发布智能分组引擎
  12. python求组合数_求组合数的算法_Cppowboy's Blog - SegmentFault 思否
  13. 在要求或期待别人做到某事的时候,先反思下自己是否值得。就好比我常会期望有很多人会记住我生日是哪天,但......
  14. 解决内网用户不能正常访问内部WEB服务器问题
  15. poj3461 Oulipo
  16. macbook 终端命令怎么使用_Mac终端怎么打开?带你全面了解在macOS中使用终端命令行...
  17. 中国伺服电机市场现状调查与投资战略分析报告2022-2028年
  18. EXCEL的去重去除某个字段后全部操作
  19. JAVA——实现求s=a+aa+aaa+aaaa+aa...a的值
  20. Vue通过render渲染$Notice

热门文章

  1. 微信小程序wxacode.getUnlimited 生成圆形二维码
  2. 实验6 - 家中的电视
  3. 公网Kamailio 代理 freeswitch 和做 sbc
  4. c语言打印星号对勾,Intellij常用快捷键记录
  5. Es6模板字符串条件判断
  6. 解决0x00000FD:Stack overflow(参数:0x00000000,0x002F2000)栈溢出问题
  7. 油田智能化远程监控系统_油气田长停井图像远程传输监控系统
  8. hive表 合并字段_hive sql常用技巧
  9. 推荐16个高清图片网站,可做网站背景
  10. c语言中双引号是什么作用,C语言中单引号与双引号的区别