Android設定高斯模糊

2021-10-03 06:14:54 字數 1816 閱讀 5886

分享自己寫的乙個高斯模糊的工具類,可以根據bitmap,imageviw,drawable或者資源檔案設定

public class blurimageview 

blurfractional(inpixels, outpixels, width, height, hradius);

blurfractional(outpixels, inpixels, height, width, vradius);

bitmap.setpixels(inpixels, 0, width, 0, 0, width, height);

drawable drawable = new bitmapdrawable(bitmap);

return drawable;

}/**

* 根據imageview設定高斯模糊

* @param img:imageview

* @return

*/public static void boxblurfilter(imageview img)

blurfractional(inpixels, outpixels, width, height, hradius);

blurfractional(outpixels, inpixels, height, width, vradius);

bitmap.setpixels(inpixels, 0, width, 0, 0, width, height);

drawable drawable = new bitmapdrawable(bitmap);

img.setimagedrawable(drawable);

}/**

* 根據專案資源檔案返回高斯模糊drawable

* @param context:上下文

* @param res:資源id

*/public static drawable boxblurfilter(context context, int res)

/*** 根據drawable返回高斯模糊

* @param drawable

* @return

*/public static drawable boxblurfilter(drawable drawable)

/*** 核心**

* @param in

* @param out

* @param width

* @param height

* @param radius

*/public static void blur(int in, int out, int width, int height,

float radius)

for (int x = 0; x < width; x++)

inindex += width;}}

public static void blurfractional(int in, int out, int width,

int height, float radius)

out[outindex] = in[width - 1];

inindex += width;}}

public static int clamp(int x, int a, int b)

}

最後放上兩張對比圖

android高斯模糊

高斯模糊演算法介紹 高斯模糊就是將指定畫素變換為其與周邊畫素加權平均後的值,權重就是高斯分布函式計算出來的值。演算法介紹 一 通過自身的寫演算法 public static void gaussblur int data,int width,int height,int radius,float s...

android 高斯模糊處理的簡單使用

android 高斯模糊處理的簡單使用 先是按比例壓縮,然後質量壓縮 然後模糊處理,然後非空判斷一直用 activity結束的時候recycle一下 測試機,三星note3,新鮮出爐,還沒測試低端機 override protected void onscrollchanged int l,int ...

Android進行高斯模糊的簡單實現

因為專案上有需求,將客人態的背景設定成使用者頭像的毛玻璃的效果 這句話怎麼這麼繞口,還是直接看吧 背景就是使用者的頭像 以前沒做過這種功能,所以上網查了一下,大牛們調研了很多種實現方法,因為需求比較簡單,對效能的要求沒有那麼苛刻,所以下面我將用最簡單的發來實現。思路是利用現有 android 提供的...