成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Android仿微信通話背景的高斯模糊效果

瀏覽:207日期:2022-06-03 16:45:15

先看下效果圖:

Android仿微信通話背景的高斯模糊效果

仔細觀察上圖,我們可以發現,背景圖以用戶頭像為模板,對其進行了高斯模糊,并把它作為整個頁面的背景色。

關于Android如何快速實現高斯模糊(毛玻璃效果),網上一堆相關介紹, 下面直接給出網上模糊化工具類(已驗證可行):

import android.graphics.Bitmap;/** * 快速模糊化工具 */public class FastBlur { public static Bitmap doBlur(Bitmap sentBitmap, int radius, boolean canReuseInBitmap) {Bitmap bitmap;if (canReuseInBitmap) { bitmap = sentBitmap;} else { 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 dv[] = new int[256 * divsum];for (i = 0; i < 256 * divsum; 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;for (y = 0; y < h; y++) { rinsum = ginsum = binsum = routsum = goutsum = boutsum = rsum = gsum = bsum = 0; for (i = -radius; i <= radius; i++) {p = pix[yi + Math.min(wm, Math.max(i, 0))];sir = stack[i + radius];sir[0] = (p & 0xff0000) >> 16;sir[1] = (p & 0x00ff00) >> 8;sir[2] = (p & 0x0000ff);rbs = r1 - Math.abs(i);rsum += sir[0] * rbs;gsum += sir[1] * rbs;bsum += sir[2] * rbs;if (i > 0) { rinsum += sir[0]; ginsum += sir[1]; binsum += sir[2];} else { routsum += sir[0]; goutsum += sir[1]; boutsum += sir[2];} } stackpointer = radius; for (x = 0; x < w; x++) {r[yi] = dv[rsum];g[yi] = dv[gsum];b[yi] = dv[bsum];rsum -= routsum;gsum -= goutsum;bsum -= boutsum;stackstart = stackpointer - radius + div;sir = stack[stackstart % div];routsum -= sir[0];goutsum -= sir[1];boutsum -= sir[2];if (y == 0) { vmin[x] = Math.min(x + radius + 1, wm);}p = pix[yw + vmin[x]];sir[0] = (p & 0xff0000) >> 16;sir[1] = (p & 0x00ff00) >> 8;sir[2] = (p & 0x0000ff);rinsum += sir[0];ginsum += sir[1];binsum += sir[2];rsum += rinsum;gsum += ginsum;bsum += binsum;stackpointer = (stackpointer + 1) % div;sir = stack[(stackpointer) % div];routsum += sir[0];goutsum += sir[1];boutsum += sir[2];rinsum -= sir[0];ginsum -= sir[1];binsum -= sir[2];yi++; } yw += w;}for (x = 0; x < w; x++) { rinsum = ginsum = binsum = routsum = goutsum = boutsum = rsum = gsum = bsum = 0; yp = -radius * w; for (i = -radius; i <= radius; i++) {yi = Math.max(0, yp) + x;sir = stack[i + radius];sir[0] = r[yi];sir[1] = g[yi];sir[2] = b[yi];rbs = r1 - Math.abs(i);rsum += r[yi] * rbs;gsum += g[yi] * rbs;bsum += b[yi] * rbs;if (i > 0) { rinsum += sir[0]; ginsum += sir[1]; binsum += sir[2];} else { routsum += sir[0]; goutsum += sir[1]; boutsum += sir[2];}if (i < hm) { yp += w;} } yi = x; stackpointer = radius; for (y = 0; y < h; y++) {// Preserve alpha channel: ( 0xff000000 & pix[yi] )pix[yi] = (0xff000000 & pix[yi]) | (dv[rsum] << 16) | (dv[gsum] << 8) | dv[bsum];rsum -= routsum;gsum -= goutsum;bsum -= boutsum;stackstart = stackpointer - radius + div;sir = stack[stackstart % div];routsum -= sir[0];goutsum -= sir[1];boutsum -= sir[2];if (x == 0) { vmin[y] = Math.min(y + r1, hm) * w;}p = x + vmin[y];sir[0] = r[p];sir[1] = g[p];sir[2] = b[p];rinsum += sir[0];ginsum += sir[1];binsum += sir[2];rsum += rinsum;gsum += ginsum;bsum += binsum;stackpointer = (stackpointer + 1) % div;sir = stack[stackpointer];routsum += sir[0];goutsum += sir[1];boutsum += sir[2];rinsum -= sir[0];ginsum -= sir[1];binsum -= sir[2];yi += w; }}bitmap.setPixels(pix, 0, w, 0, 0, w, h);return (bitmap); }}

那么,我們使用這個工具類,就可以高仿微信聊天頁面了么?答案是NO。

我們先看下直接使用該工具類能實現的效果:

Android仿微信通話背景的高斯模糊效果

我們可以看出來,通過該工具類,能實現圖片的毛玻璃效果,可是并不理想,因為微信的背景顏色偏暗,而我們模糊化得到的圖片顏色偏淡。效果有些不盡如人意。了解ios的人,或許知道,ios實現高斯模糊有直接的api:UIBlurEffectStyleExtraLight、UIBlurEffectStyleLight 、UIBlurEffectStyleDark,而UIBlurEffectStyleDark就可以直接實現比較暗的毛玻璃效果。那放在android這邊,該如何辦呢?

我這里采用的是“曲線求國”的策略,要想背景色偏暗,我們使用FrameLayout布局,在其中添加一個比較暗的一層View,就可以實現啦。

<?xml version='1.0' encoding='utf-8'?><FrameLayout xmlns:android='http://schemas.android.com/apk/res/android' android:layout_width='match_parent' android:layout_height='match_parent' android:fitsSystemWindows='true' android:orientation='vertical'> <ImageViewandroid: android:layout_width='match_parent'android:layout_height='match_parent'android:adjustViewBounds='true'android:maxHeight='1500dp'android:maxWidth='1000dp'android:scaleType='centerCrop' /> <ImageViewandroid:layout_width='match_parent'android:layout_height='match_parent'android:background='#90000000' /> <RelativeLayoutandroid: android:layout_width='match_parent'android:layout_height='match_parent'android:fitsSystemWindows='true'android:orientation='vertical'><ImageView android: android:layout_width='100dp' android:layout_height='100dp' android:layout_centerHorizontal='true' android:layout_marginTop='80dp' android:scaleType='fitXY' android:src='http://www.piao2010.com/bcjs/@mipmap/ic_launcher' /><TextView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_below='@id/imgUserHead' android:layout_centerHorizontal='true' android:layout_marginTop='30dp' android:gravity='center_horizontal' android:text='靜音' android:textColor='#ffffff' android:textSize='24dp' /></RelativeLayout></FrameLayout>

上面代碼中,可以看到,我們添加了這么一個ImageView:

<ImageViewandroid:layout_width='match_parent'android:layout_height='match_parent'android:background='#90000000' />

如此這般,便是可以實現真正的高仿啦。

最重實現的效果圖如下:

Android仿微信通話背景的高斯模糊效果

源碼地址:

https://github.com/zuiwuyuan/FastBlur_VoiceChat

到這里就結束啦。

以上就是Android仿微信通話背景的高斯模糊效果的詳細內容,更多關于Android 高斯模糊效果的資料請關注好吧啦網其它相關文章!

標簽: 微信
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
91精品国产色综合久久不卡蜜臀 | 97久久超碰国产精品电影| 亚洲一区3d动漫同人无遮挡| 国产精品激情偷乱一区二区∴| 美女视频一区二区| 国产精品视频福利| 一区二区三区成人| 亚洲区第一页| 成人欧美一区二区三区黑人麻豆| 九九精品视频在线看| 欧美福利专区| 精品免费国产一区二区三区四区| 五月综合激情日本mⅴ| 国产视频久久| 亚洲一区二区精品3399| 国产日韩一区二区三区| 精品国产伦一区二区三区免费 | 亚洲国产视频在线| 国产私拍一区| 亚洲小少妇裸体bbw| 香蕉久久夜色| 美女爽到高潮91| 欧美美女黄视频| 国产一区 二区 三区一级| 欧美日韩国产成人在线免费| 一区二区三区美女| 亚洲欧洲日本一区二区三区| 一区二区三区色| 快she精品国产999| 精品在线你懂的| 欧美成人猛片aaaaaaa| 91麻豆精品在线观看| 欧美日韩一区二区三区视频 | 亚洲色欲色欲www| 成人av免费在线播放| 精品国产91乱码一区二区三区| 免费观看在线综合色| 日本一区二区免费在线观看视频 | 成a人片亚洲日本久久| 在线电影一区二区三区| 日韩亚洲欧美成人一区| 亚洲一区二区影院| 欧美日韩国产精品一区二区亚洲| 日韩女优毛片在线| 91色视频在线| 亚洲日本乱码在线观看| 久久国产精品高清| 激情综合色综合久久综合| 91精品国产综合久久久久久久| 偷拍日韩校园综合在线| 色吊一区二区三区 | 精品一区在线看| 日韩一区二区精品在线观看| 精品一区二区日韩| 日韩欧美一级二级三级| 色综合夜色一区| 国产一区二区免费视频| 日韩欧美美女一区二区三区| 欧美人与禽性xxxxx杂性| 亚洲综合色自拍一区| 欧美色成人综合| kk眼镜猥琐国模调教系列一区二区| 欧美老女人第四色| 粉嫩13p一区二区三区| 中文字幕精品—区二区四季| 一本久久知道综合久久| 蜜桃视频在线一区| 欧美zozozo| 国产亚洲毛片| 激情综合色综合久久| 国产亚洲欧洲997久久综合 | 国产精品自在在线| 欧美视频在线观看一区| 粉嫩绯色av一区二区在线观看 | 91蜜桃在线免费视频| 亚洲视频免费在线| 欧美性猛交xxxx乱大交退制版 | 国产v综合v亚洲欧| 亚洲欧洲日产国产综合网| 久久亚洲欧洲| 亚洲一二三专区| 正在播放亚洲| 国产麻豆日韩欧美久久| 1000部国产精品成人观看| 欧美性大战久久久| 午夜精品一区二区三区四区 | 国产激情精品久久久第一区二区| 欧美综合亚洲图片综合区| 99久久免费视频.com| 亚洲gay无套男同| www成人在线观看| 久久av一区二区| 成人免费av在线| 一区二区三区资源| 欧美一级在线观看| 亚洲欧美日韩精品综合在线观看| 午夜一区二区三区在线观看| 日韩欧美在线1卡| 国产欧美三级| 成人一区二区视频| 亚洲成a人片在线不卡一二三区 | 亚洲综合男人的天堂| 7777精品伊人久久久大香线蕉经典版下载 | 欧美精品一级二级三级| 欧美激情视频一区二区三区免费| 欧美高清一级片在线观看| 亚洲欧美日韩另类精品一区二区三区 | 五月综合激情网| 日韩免费一区二区三区在线播放| 成人精品高清在线| 精品久久一二三区| 亚洲深夜av| 91亚洲精华国产精华精华液| 天堂久久久久va久久久久| 亚洲国产精品av| 日韩一区二区免费高清| 一本大道久久a久久精品综合| 国产一区激情在线| 亚洲另类春色国产| 精品国产乱码久久久久久闺蜜| 精品二区久久| 蜜臀av一区二区| 亚洲精品在线免费播放| 91免费观看国产| 免费在线成人网| 亚洲国产精品av| 欧美成人一级视频| 日本高清免费不卡视频| 成人中文字幕合集| 无吗不卡中文字幕| 成人欧美一区二区三区小说 | 欧美极品aⅴ影院| 欧美日韩精品福利| 久久久水蜜桃| 成人激情综合网站| 久久99久久久欧美国产| 亚洲精品国产a| 欧美一区二区视频在线观看2022 | 欧美精品成人一区二区在线观看| 亚洲欧美在线视频| 日韩精品专区在线影院观看 | 欧美精品色综合| 国产精品sm| 高清shemale亚洲人妖| 久久91精品久久久久久秒播| 亚洲一区二区美女| 亚洲综合一区二区三区| 欧美日韩免费一区二区三区| 亚洲欧美日韩综合国产aⅴ| 欧美日韩成人| 精品在线播放午夜| 亚洲成a人在线观看| 一级中文字幕一区二区| 国产农村妇女精品| 国产欧美一区二区精品婷婷| 国产精品一二| 美国十次了思思久久精品导航| 久久久不卡影院| 乱码第一页成人| 亚洲制服av| 日韩视频在线观看国产| 亚洲大胆视频| 91一区二区在线观看| 99久久综合狠狠综合久久| 国产一区二区美女| 国产精品1区二区.| 韩国欧美一区二区| 亚洲一区二区三区高清不卡| 国产91丝袜在线播放| 久久久久国产精品免费免费搜索| 亚洲最黄网站| 国产精品99一区二区| 懂色中文一区二区在线播放| 亚洲免费在线电影| 亚洲视频1区2区| 国产精品白丝在线| 一区二区三区中文免费| 亚洲视频一区二区在线| 亚洲欧美激情视频在线观看一区二区三区| 欧美色图免费看| 欧美性猛片xxxx免费看久爱| 在线亚洲人成电影网站色www| 欧美午夜精品| 国内精品国产成人国产三级粉色| 亚洲一区二区美女| 一区二区三区免费观看| 香蕉久久夜色精品国产使用方法| 欧美国产成人精品| 久久免费看少妇高潮| 国产色一区二区| 精品1区2区3区| 欧美日韩精品二区第二页| 日本韩国视频一区二区| 欧美日韩中文字幕一区二区| 欧美撒尿777hd撒尿| 日韩精品一区二区三区视频播放 | 精品一区二区三区免费播放| 男女性色大片免费观看一区二区| 亚洲午夜久久久久久久久久久| 久久精品人人做人人综合 |