android如何模糊图片处理图片,Android图片模糊效果
在进行模糊的时候,可以先对原始图片进行压缩,然后选择一个合适的方式进行模糊。
效果如下:
模糊
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图片模糊效果相关推荐
- android 截图模糊,Adobe XD导出图片模糊?设置错误啦(切图详解)
Adobe XD CC是一款矢量设计软件,支持导出PNG.SVG.PDF.JPG四种格式,XD中文网(https://xd.94xy.com)的数万用户群和学员中,有非常多的童鞋表示Adobe XD ...
- Android中使用xml处理图片,Android布局 – 在xml中偏移背景图像
我有一个大的png,我想用它作为不同布局的背景,但是偏移它以便我可以有不同的部分显示(很像你可以在CSS中),最好是在xml中. 我的活动主要布局包含以下xml: android:layout_wid ...
- android 模糊到清晰,Android打开图库中图片为什么从模糊变清晰
1. 有一点要明确,图片要进行显示,首先要先将图片进行decode,然后才能显示 2. 图片decode需要时间,越大的图片,细节越多的图片,那么它decode时间就越长 3. 最笨的做法就是,等图片 ...
- 【Android 安装包优化】Android 中使用 SVG 图片 ( SVG 矢量图简介 | Android 中生成 Vector 矢量图资源 )
文章目录 一.SVG 矢量图简介 二.Android 中生成 Vector 矢量图资源 三.参考资料 一.SVG 矢量图简介 Android SVG 参考文档 : https://developer. ...
- Android开发常用开源框架:图片处理
1. 图片加载,缓存,处理 框架名称 功能描述 Android Universal Image Loader 一个强大的加载,缓存,展示图片的库,已过时 Picasso 一个强大的图片下载与缓存的库 ...
- android 微信分享gif图,android后台动态创建图片并实现微信分享
今天就记录一下. 先说明一下,之前没有做过类似的东西,百度了一两天才知道,说来很惭愧.有点笨,只能这样说. 在我的脑里只明白,如果要动态创建图片: 一.就是new 嘛 二.就是LayoutInflat ...
- android能用svg格式,Android加载html中svg格式图片进行显示
最近做的一个项目是把assets目录中的html显示出来,但是因为html里面有一些工程图片,虽然我用ViewPager和PhotoView,进行显示放大了,但是因为工程图片的线条较多还是比较模糊.所 ...
- Android,上传一张本地图片到服务器,Okhttp的post请求上传图片本地服务器
效果 前言 也许你查看了很多博客也没有解决"如何将一张手机图片上传到服务器"?,本博客将已最原始的方式,以一个萌新的角度非常细致的讲解,以最原始的方式解决你的问题. 我一开始弄这个 ...
- Android OpenGL基础(四、图片后处理)
一.后处理 在Android OpenGL基础(三.绘制Bitmap纹理)一文中,我们简单介绍了如何把一张图片绘制到四边形上.现在我们可以在绘制原始图片的基础上再实现一些后处理的功能,例如灰度.反 ...
最新文章
- lua学习:使用Lua处理游戏数据
- 2021中青杯数学建模C题 在线教学的分析与研究
- Google上面有自己给你标注好的数据集
- linux虚拟实验服务,Linux虚拟服务器(LVS)实验文档PDF
- Slave: received end packet from server, apparent master shutdown:
- Logtail 文件日志采集之完整正则模式
- 额外sql使用什么封装_为什么建立社区值得付出额外的努力
- mysql 无法创建用户_mysql不能创建用户
- (四)Paint函数实现QTableView中增加QCheckBox的方法
- 重磅 | Windows 10内部版本及核心源代码泄露,一共32TB
- Java 8 中的 Map 骚操作,学习下
- 免费java模板下载安装_java程序员免费简历模板下载
- 日暮途远,故吾倒行而逆施之.
- 【Leetcode】1512. Number of Good Pairs
- Kylin - 框架介绍
- 解决vue3-print-nb打印二维码定位(qrcode.vue) 问题
- 目标跟踪OTB评估指标(OP, CLE, FPS)与matlab代码
- 众邮快递的物流信息是怎么在电脑上批量查询的
- matlab计算绝对值的导数,如何用matlab求带绝对值函数的导数? 你值得一看的技巧...
- 公司网站源码(公司官网源码)PHP
热门文章
- 全自动过滤器:应用生物膜法利用全自动过滤器降解有机物
- pythonmatplotlib显示数值_4.10Python数据处理篇之Matplotlib系列(十)---文本的显示
- 跌落神坛的算法,从此做个互联网渣男
- ICMP Destination unreachable(Host administratively prohibited)
- 微信诞生记:从无到有的开发历程
- mysql nvl nvl2_nvl 与 nvl2
- 第九章 SQL查询数据库(二)
- FastJson---高性能JSON开发包
- 华为云业务架构设计原则
- 函数关于某直线x=a轴对称的证明