在进行模糊的时候,可以先对原始图片进行压缩,然后选择一个合适的方式进行模糊。

效果如下:

模糊

1、处理图片

缩放、旋转图片

private Bitmap getBitmap(Bitmap source) {

//scaleFactor:压缩比

Bitmap tempBitmap= Bitmap.createBitmap((int) (source.getWidth() / scaleFactor), (int) blurHeight, Bitmap.Config.ARGB_8888);

Canvas canvas=new Canvas(tempBitmap);

canvas.scale(1/scaleFactor,-1*blurHeight/source.getHeight());

canvas.translate(0, -source.getHeight());

Paint paint=new Paint(Paint.ANTI_ALIAS_FLAG);

paint.setFlags(Paint.FILTER_BITMAP_FLAG);

// ColorMatrix colorMatrix=new ColorMatrix();

// colorMatrix.setScale(0.8f,0.8f,0.8f,1);

// paint.setColorFilter(new ColorMatrixColorFilter(colorMatrix));

canvas.drawBitmap(source, 0, 0, paint);

return tempBitmap;

}

2、模糊图片

1、fastblur

stackblur的java实现,这里

使用

Blur.fastblur(context,tempBitmap,25);

2、rs-stackblur

stackblur的Renderscript实现,这里

添加依赖

compile 'com.commit451:NativeStackBlur:1.0.2'

使用

NativeStackBlur.process(tempBitmap, 60);

其中,模糊半径越大,处理后的图片越模糊

**3、RenderScript ** ScriptIntrinsicBlur

RenderScript,一个强大的图片处理框架,可以使用ScriptIntrinsicBlur 实现高斯模糊的效果(API 17)。

需要进行如下配置:

defaultConfig {

......

renderscriptTargetApi 19

renderscriptSupportModeEnabled true

}

代码如下:

public Bitmap blurBitmap(Bitmap bitmap){

//Let's create an empty bitmap with the same size of the bitmap we want to blur

Bitmap outBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888);

//Instantiate a new Renderscript

RenderScript rs = RenderScript.create(getApplicationContext());

//Create an Intrinsic Blur Script using the Renderscript

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

//Create the Allocations (in/out) with the Renderscript and the in/out bitmaps

Allocation allIn = Allocation.createFromBitmap(rs, bitmap);

Allocation allOut = Allocation.createFromBitmap(rs, outBitmap);

//Set the radius of the blur: 0 < radius <= 25

blurScript.setRadius(25.0f);

//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;

}

android如何模糊图片处理图片,Android图片模糊效果相关推荐

  1. android 截图模糊,Adobe XD导出图片模糊?设置错误啦(切图详解)

    Adobe XD CC是一款矢量设计软件,支持导出PNG.SVG.PDF.JPG四种格式,XD中文网(https://xd.94xy.com)的数万用户群和学员中,有非常多的童鞋表示Adobe XD ...

  2. Android中使用xml处理图片,Android布局 – 在xml中偏移背景图像

    我有一个大的png,我想用它作为不同布局的背景,但是偏移它以便我可以有不同的部分显示(很像你可以在CSS中),最好是在xml中. 我的活动主要布局包含以下xml: android:layout_wid ...

  3. android 模糊到清晰,Android打开图库中图片为什么从模糊变清晰

    1. 有一点要明确,图片要进行显示,首先要先将图片进行decode,然后才能显示 2. 图片decode需要时间,越大的图片,细节越多的图片,那么它decode时间就越长 3. 最笨的做法就是,等图片 ...

  4. 【Android 安装包优化】Android 中使用 SVG 图片 ( SVG 矢量图简介 | Android 中生成 Vector 矢量图资源 )

    文章目录 一.SVG 矢量图简介 二.Android 中生成 Vector 矢量图资源 三.参考资料 一.SVG 矢量图简介 Android SVG 参考文档 : https://developer. ...

  5. Android开发常用开源框架:图片处理

    1. 图片加载,缓存,处理 框架名称 功能描述 Android Universal Image Loader 一个强大的加载,缓存,展示图片的库,已过时 Picasso 一个强大的图片下载与缓存的库 ...

  6. android 微信分享gif图,android后台动态创建图片并实现微信分享

    今天就记录一下. 先说明一下,之前没有做过类似的东西,百度了一两天才知道,说来很惭愧.有点笨,只能这样说. 在我的脑里只明白,如果要动态创建图片: 一.就是new 嘛 二.就是LayoutInflat ...

  7. android能用svg格式,Android加载html中svg格式图片进行显示

    最近做的一个项目是把assets目录中的html显示出来,但是因为html里面有一些工程图片,虽然我用ViewPager和PhotoView,进行显示放大了,但是因为工程图片的线条较多还是比较模糊.所 ...

  8. Android,上传一张本地图片到服务器,Okhttp的post请求上传图片本地服务器

    效果 前言 也许你查看了很多博客也没有解决"如何将一张手机图片上传到服务器"?,本博客将已最原始的方式,以一个萌新的角度非常细致的讲解,以最原始的方式解决你的问题. 我一开始弄这个 ...

  9. Android OpenGL基础(四、图片后处理)

    一.后处理   在Android OpenGL基础(三.绘制Bitmap纹理)一文中,我们简单介绍了如何把一张图片绘制到四边形上.现在我们可以在绘制原始图片的基础上再实现一些后处理的功能,例如灰度.反 ...

最新文章

  1. lua学习:使用Lua处理游戏数据
  2. 2021中青杯数学建模C题 在线教学的分析与研究
  3. Google上面有自己给你标注好的数据集
  4. linux虚拟实验服务,Linux虚拟服务器(LVS)实验文档PDF
  5. Slave: received end packet from server, apparent master shutdown:
  6. Logtail 文件日志采集之完整正则模式
  7. 额外sql使用什么封装_为什么建立社区值得付出额外的努力
  8. mysql 无法创建用户_mysql不能创建用户
  9. (四)Paint函数实现QTableView中增加QCheckBox的方法
  10. 重磅 | Windows 10内部版本及核心源代码泄露,一共32TB
  11. Java 8 中的 Map 骚操作,学习下
  12. 免费java模板下载安装_java程序员免费简历模板下载
  13. 日暮途远,故吾倒行而逆施之.
  14. 【Leetcode】1512. Number of Good Pairs
  15. Kylin - 框架介绍
  16. 解决vue3-print-nb打印二维码定位(qrcode.vue) 问题
  17. 目标跟踪OTB评估指标(OP, CLE, FPS)与matlab代码
  18. 众邮快递的物流信息是怎么在电脑上批量查询的
  19. matlab计算绝对值的导数,如何用matlab求带绝对值函数的导数? 你值得一看的技巧...
  20. 公司网站源码(公司官网源码)PHP

热门文章

  1. 全自动过滤器:应用生物膜法利用全自动过滤器降解有机物
  2. pythonmatplotlib显示数值_4.10Python数据处理篇之Matplotlib系列(十)---文本的显示
  3. 跌落神坛的算法,从此做个互联网渣男
  4. ICMP Destination unreachable(Host administratively prohibited)
  5. 微信诞生记:从无到有的开发历程
  6. mysql nvl nvl2_nvl 与 nvl2
  7. 第九章 SQL查询数据库(二)
  8. FastJson---高性能JSON开发包
  9. 华为云业务架构设计原则
  10. 函数关于某直线x=a轴对称的证明