當前位置:首頁 » 安卓系統 » android模糊處理

android模糊處理

發布時間: 2022-10-02 21:31:29

1. Android 高斯模糊的幾種實現方式

本人在項目中使用的是Glide+Glide-Transformation框架實現的高斯模糊
Glide地址:網頁鏈接
Glide-Transformation地址:網頁鏈接

2. Android開發中ImageView里的Bitmap很模糊,怎麼解決

目標和容器不一致導致的。
1、設置imageview的scaleType為center,即不隨著控制項的大小而去硬性適配;
2、確保所得bitmap即圖片有預期的大小;
3、設置imageview的寬高為wrap,去適應bitmap的大小。

3. android 高斯模糊怎麼還原

第一步獲取Activity的屏幕截屏。
第二步對截屏進行高斯模糊演算法
總之感覺體驗不是很好,主要原因是對Bitmap進行操作,這種東西本來就是安卓的噩夢,搞不好還會OOM。
不過處理效果還可以就是慢點兒!

4. 怎麼實現Android 布局背景模糊化處理

在模仿 IOS 密碼輸入頁面的時候發現其背景有模糊處理,於是了解了一下並記錄下來,以便使用.在Android 中具體實現方法如下
private void applyBlur() {

// 獲取壁紙管理器
WallpaperManager wallpaperManager = WallpaperManager.getInstance(this.getContext());
// 獲取當前壁紙
Drawable wallpaperDrawable = wallpaperManager.getDrawable();
// 將Drawable,轉成Bitmap
Bitmap bmp = ((BitmapDrawable) wallpaperDrawable).getBitmap();

blur(bmp);
}

下面之所以要進行small 和big的處理,是因為僅僅靠ScriptIntrinsicBlur 來處理模式,不能到達更模式的效果,如果需要加深模式效果就需要先把背景圖片縮小,在處理完之後再放大.這個可以使用Matrix 來實現,而且這樣可以縮短模糊化得時間
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
private void blur(Bitmap bkg) {
long startMs = System.currentTimeMillis();
float radius = 20;

bkg = small(bkg);
Bitmap bitmap = bkg.(bkg.getConfig(), true);

final RenderScript rs = RenderScript.create(this.getContext());
final Allocation input = Allocation.createFromBitmap(rs, bkg, Allocation.MipmapControl.MIPMAP_NONE,
Allocation.USAGE_SCRIPT);
final Allocation output = Allocation.createTyped(rs, input.getType());
final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
script.setRadius(radius);
script.setInput(input);
script.forEach(output);
output.To(bitmap);

bitmap = big(bitmap);
setBackground(new BitmapDrawable(getResources(), bitmap));
rs.destroy();
Log.d("zhangle","blur take away:" + (System.currentTimeMillis() - startMs )+ "ms");
}

private static Bitmap big(Bitmap bitmap) {
Matrix matrix = new Matrix();
matrix.postScale(4f,4f); //長和寬放大縮小的比例
Bitmap resizeBmp = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true);
return resizeBmp;
}

private static Bitmap small(Bitmap bitmap) {
Matrix matrix = new Matrix();
matrix.postScale(0.25f,0.25f); //長和寬放大縮小的比例
Bitmap resizeBmp = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true);
return resizeBmp;
}

5. 安卓系統前攝像頭模糊了,怎麼恢復清晰

1、貼磨砂膜的時候不小心蓋住了前置攝像頭,自己或者找專業人士換一張膜,也可以再剪切一下。
2、有氣霧進入前置攝像頭內部,進行一下乾燥處理。
3、有灰塵進入攝像頭,去手機售後店處理。
4、手機攝像頭本身有問題,去售後維修。

6. 怎麼實現Android 布局背景模糊化處理

這里的模糊都是給設置的背景半透明,就是android:background設置為半透明的在color.xml中定義半透明的方式是這樣,#AARRGGBB,#後邊的AA就是透明度,從00不透明到FF純透明,後面的RRGGBB是從000000到FFFFFF的從黑色到白色

7. android如何實現透明模糊效果

背景設置為你要模糊的顏色,透明度設置的高點就行了

8. 如何實現Android 布局背景模糊化處理

在模仿 IOS 密碼輸入頁面的時候發現其背景有模糊處理,於是了解了一下並記錄下來,以便使用.在Android 中具體實現方法如下

查考 http://www.cnblogs.com/lipeil/p/3997992.html

Java代碼
private void applyBlur() {

// 獲取壁紙管理器
WallpaperManager wallpaperManager = WallpaperManager.getInstance(this.getContext());
// 獲取當前壁紙
Drawable wallpaperDrawable = wallpaperManager.getDrawable();
// 將Drawable,轉成Bitmap
Bitmap bmp = ((BitmapDrawable) wallpaperDrawable).getBitmap();

blur(bmp);
}

下面之所以要進行small 和big的處理,是因為僅僅靠ScriptIntrinsicBlur
來處理模式,不能到達更模式的效果,如果需要加深模式效果就需要先把背景圖片縮小,在處理完之後再放大.這個可以使用Matrix
來實現,而且這樣可以縮短模糊化得時間

Java代碼
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
private void blur(Bitmap bkg) {
long startMs = System.currentTimeMillis();
float radius = 20;

bkg = small(bkg);
Bitmap bitmap = bkg.(bkg.getConfig(), true);

final RenderScript rs = RenderScript.create(this.getContext());
final Allocation input = Allocation.createFromBitmap(rs, bkg, Allocation.MipmapControl.MIPMAP_NONE,
Allocation.USAGE_SCRIPT);
final Allocation output = Allocation.createTyped(rs, input.getType());
final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
script.setRadius(radius);
script.setInput(input);
script.forEach(output);
output.To(bitmap);

bitmap = big(bitmap);
setBackground(new BitmapDrawable(getResources(), bitmap));
rs.destroy();
Log.d("zhangle","blur take away:" + (System.currentTimeMillis() - startMs )+ "ms");
}

private static Bitmap big(Bitmap bitmap) {
Matrix matrix = new Matrix();
matrix.postScale(4f,4f); //長和寬放大縮小的比例
Bitmap resizeBmp = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true);
return resizeBmp;
}

private static Bitmap small(Bitmap bitmap) {
Matrix matrix = new Matrix();
matrix.postScale(0.25f,0.25f); //長和寬放大縮小的比例
Bitmap resizeBmp = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true);
return resizeBmp;
}

熱點內容
android備忘錄源碼 發布:2025-01-20 01:06:32 瀏覽:454
怎麼禁用aspx緩存 發布:2025-01-20 01:00:50 瀏覽:687
我的手機如何恢復安卓系統 發布:2025-01-20 00:55:48 瀏覽:366
eclipsejsp編譯 發布:2025-01-20 00:51:02 瀏覽:860
虛擬機連宿主機ftp 發布:2025-01-20 00:43:04 瀏覽:356
最小生成樹的prim演算法 發布:2025-01-20 00:39:40 瀏覽:325
淘寶助理無法上傳 發布:2025-01-20 00:34:33 瀏覽:883
如何做一個代理伺服器 發布:2025-01-20 00:18:39 瀏覽:803
android背單詞源碼 發布:2025-01-19 23:57:21 瀏覽:727
領動配置怎麼樣 發布:2025-01-19 23:56:35 瀏覽:83