因為專案上有需求,將客人態的背景設定成使用者頭像的毛玻璃的效果(這句話怎麼這麼繞口,還是直接看吧)背景就是使用者的頭像
以前沒做過這種功能,所以上網查了一下,大牛們調研了很多種實現方法,因為需求比較簡單,對效能的要求沒有那麼苛刻,所以下面我將用最簡單的發來實現。思路是利用現有 android 提供的方法,通過 renderscript 呼叫底層介面實現高斯模糊計算.這種方法直接利用 android 系統提供的機制,從**實現上是最簡單也相對高效的。
第一步在專案的 build.gradle 下引入 renderscript 如下
defaultconfig
經測試如果想以這種方式實現高斯模糊的效果,那麼 minsdkversion 最低為 17 ,不然執行的時候會報錯。
第二步給需要進行高斯模糊的背景imageview設定資源,不明白?其實模糊的那一坨東西就是個imageview,從介面拉取到的使用者的頭像,再將頭像設定給imageview 設定好之後就可以用下面的方法新增模糊效果了。
下面是核心的模糊演算法/**
* 新增模糊效果
*/imgbackgroung.getviewtreeobserver().addonpredrawlistener(new viewtreeobserver.onpredrawlistener()
});}
模糊的程度可以通過改變radius的大小來進行設定。/**
* 乙個高斯模糊的演算法
** @param bkg
* @param view
*/private void blur(bitmap bkg, view view)
好了到這裡,乙個高斯模糊的背景就誕生了,demo我就不貼了,因為這個還是比較簡單的,有什麼問題,可以聯絡我。
android高斯模糊
高斯模糊演算法介紹 高斯模糊就是將指定畫素變換為其與周邊畫素加權平均後的值,權重就是高斯分布函式計算出來的值。演算法介紹 一 通過自身的寫演算法 public static void gaussblur int data,int width,int height,int radius,float s...
Android設定高斯模糊
分享自己寫的乙個高斯模糊的工具類,可以根據bitmap,imageviw,drawable或者資源檔案設定 public class blurimageview blurfractional inpixels,outpixels,width,height,hradius blurfractional...
android 高斯模糊處理的簡單使用
android 高斯模糊處理的簡單使用 先是按比例壓縮,然後質量壓縮 然後模糊處理,然後非空判斷一直用 activity結束的時候recycle一下 測試機,三星note3,新鮮出爐,還沒測試低端機 override protected void onscrollchanged int l,int ...