没有合适的资源?快使用搜索试试~ 我知道了~
自从iOS系统引入了Blur效果,也就是所谓的毛玻璃、模糊化效果、磨砂效果,各大系统就开始竞相模仿,这是怎样的一个效果呢,我们先来看一下,如下面的图片: 实现效果大家都知道了,如何在Android中实现呢,说白了就是对图片进行模糊化处理,小编先给大家讲一下Android高级模糊技术的原理,如下: 首先我创建了一个空的bitmap,把背景的一部分复制进去,之后我会对这个bitmap进行模糊处理并设置为TextView的背景。 通过这个bitmap保存Canvas的状态; 在父布局文件中把Canvas移动到TextView的位置; 把ImageView的内容绘到bitmap中;
资源推荐
资源详情
资源评论
Android模糊处理简单实现毛玻璃效果模糊处理简单实现毛玻璃效果
自从iOS系统引入了Blur效果,也就是所谓的毛玻璃、模糊化效果、磨砂效果毛玻璃、模糊化效果、磨砂效果,各大系统就开始竞相模仿,这是怎样的一个效
果呢,我们先来看一下,如下面的图片:
实现效果大家都知道了,如何在Android中实现呢,说白了就是对图片进行模糊化处理,小编先给大家讲一下Android高级模糊
技术的原理,如下:
首先我创建了一个空的首先我创建了一个空的bitmap,把背景的一部分复制进去,之后我会对这个,把背景的一部分复制进去,之后我会对这个bitmap进行模糊处理并设置为进行模糊处理并设置为TextView的背景。的背景。
通过这个通过这个bitmap保存保存Canvas的状态;的状态;
在父布局文件中把在父布局文件中把Canvas移动到移动到TextView的位置;的位置;
把把ImageView的内容绘到的内容绘到bitmap中;中;
此时,我们就有了一个和此时,我们就有了一个和TextView一样大小的一样大小的bitmap,它包含了,它包含了ImageView的一部分内容,也就是的一部分内容,也就是TextView背后一层布局背后一层布局
的内容;的内容;
创建一个创建一个Renderscript的实例;的实例;
把把bitmap复制一份到复制一份到Renderscript需要的数据片中;需要的数据片中;
创建创建Renderscript模糊处理的实例;模糊处理的实例;
设置输入,半径范围然后进行模糊处理;设置输入,半径范围然后进行模糊处理;
把处理后的结果复制回之前的把处理后的结果复制回之前的bitmap中;中;
好了,我们已经把好了,我们已经把bitmap惊醒模糊处理了,可以将它设置为惊醒模糊处理了,可以将它设置为TextView背景了;背景了;
我最近在做一款App,其中有一个功能需要对图片处理实现毛玻璃的特效,经过一番研究,找到了3中实现方案,其中各有优
缺点,如果系统的api在16以上,可以使用系统提供的方法直接处理图片,但是小编认为下边的解决方案是实现效果最好的。
代码如下:
public Bitmap fastblur(Context context, Bitmap sentBitmap, int radius) {
Bitmap bitmap = sentBitmap.copy(sentBitmap.getConfig(), true);
if (radius < 1) {
return (null);
}
int w = bitmap.getWidth();
int h = bitmap.getHeight();
int[] pix = new int[w * h];
bitmap.getPixels(pix, 0, w, 0, 0, w, h);
int wm = w - 1;
int hm = h - 1;
int wh = w * h;
int div = radius + radius + 1;
int r[] = new int[wh];
int g[] = new int[wh];
int b[] = new int[wh];
int rsum, gsum, bsum, x, y, i, p, yp, yi, yw;
int vmin[] = new int[Math.max(w, h)];
int divsum = (div + 1) >> 1;
divsum *= divsum;
int temp = 256 * divsum;
int dv[] = new int[temp];
for (i = 0; i < temp; i++) {
dv[i] = (i / divsum);
}
yw = yi = 0;
int[][] stack = new int[div][3];
int stackpointer;
int stackstart;
int[] sir;
int rbs;
int r1 = radius + 1;
int routsum, goutsum, boutsum;
int rinsum, ginsum, binsum;
资源评论
zcharzon
- 粉丝: 6
- 资源: 934
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功