当前位置:首页 » 安卓系统 » android模糊图片处理

android模糊图片处理

发布时间: 2023-12-29 10:49:34

Ⅰ Android开发中ImageView里的Bitmap很模糊,怎么解决

目标和容器不一致导致的。
1、设置imageview的scaleType为center,即不随着控件的大小而去硬性适配;
2、确保所得bitmap即图片有预期的大小;
3、设置imageview的宽高为wrap,去适应bitmap的大小。

Ⅱ Android 图片及文字模糊效果

implementation'com.github.bumptech.glide:glide:4.7.1'

implementation'jp.wasabeef:glide-transformations:4.0.1'

Glide.with(this).load(url)

.apply(RequestOptions.bitmapTransform(new BlurTransformation(5,2)))

.into(civ);

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){

//View从API Level 11才加入setLayerType方法 //设置View以软件渲染模式绘图

    tvPhone.setLayerType(View.LAYER_TYPE_SOFTWARE,null);

}

SpannableString stringBuilder=new SpannableString("文字模糊");

stringBuilder.setSpan(new MaskFilterSpan(new BlurMaskFilter(10f,BlurMaskFilter.Blur.NORMAL)),

0,stringBuilder.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);

tvPhone.setText(stringBuilder);

最后来张效果图吧:

Ⅲ 如何实现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,怎么实现activity模糊图层效果呢

Android里面:
最普遍的模糊技术是这样做的:从TextView的后一层背景中截取一部分;进行模糊处理;把模糊处理后的部分设置为TextView的背景。
实现activity模糊图层效果是RenderScript是Android在API 11之后加入的,用于高效的图片处理,包括模糊、混合、矩阵卷积计算等,通过一种fastblur模糊图片算法来计算一张图片像素,进而更改图片的分辨率和模糊程度。算法代码可以参考这篇csdn博客介绍几种模糊算法,地址如下:http://blog.csdn.net/xu_fu/article/details/23131241。

几种算法实现的效果都差不多,但是效果和时间上还是有很大区别,这取决于你的Android实际的运行环境,如果机器是Android API 2.0以下的,就不能使用RenderScript类,只能使用硬编码方式,这就涉及到OPENGL的知识了,OPENGL就是对图像进行各种处理的一门知识,这些知识都可以到网上找得到。我在csdn上次了一个Android图片模糊处理的一个小demo,欢迎下载:链接如下:http://download.csdn.net/detail/omayyouhappy/8888251

热点内容
传奇打元宝脚本 发布:2024-11-29 03:39:52 浏览:842
如何装linux系统 发布:2024-11-29 03:38:17 浏览:182
咋清理缓存 发布:2024-11-29 03:18:38 浏览:12
linux服务器的配置文件 发布:2024-11-29 03:18:31 浏览:615
安卓软件误删软件如何恢复 发布:2024-11-29 02:55:58 浏览:232
我的世界安卓手机如何改成官服 发布:2024-11-29 02:43:11 浏览:290
域服务器如何进行管理 发布:2024-11-29 02:43:08 浏览:186
ftp失火 发布:2024-11-29 02:42:27 浏览:194
flashas编程 发布:2024-11-29 02:38:49 浏览:369
先编译成什么格式的文件 发布:2024-11-29 02:38:48 浏览:120