glide实现高斯模糊,毛玻璃效果,加载图片
【Android图片处理技术总结】本文介绍了获取drawable/mipmap资源的方法,通过ResourceUtils工具类根据名称获取资源ID。重点展示了实现毛玻璃效果的代码:使用BitmapFactory解码图片后,用BitmapUtil进行模糊处理并设置为背景。同时提供了GlideUtils工具类,封装了Glide加载网络图片的功能,支持圆形/圆角裁剪、默认图设置及缓存策略。此外还展示了G
·
新增一种:
//根据drawable名字获取资源文件
String bgImageName = SysProp.get(SysProp.BG_IMAGE,"wallpaper00");
int resId = ResourceUtils.getDrawableIdByName(bgImageName);
//获取默认图片
Bitmap originalBitmap = BitmapFactory.decodeResource(getResources(), resId);
//毛玻璃效果
Drawable drawable = new BitmapDrawable(getResources(),
BitmapUtil.blurBitmap(this,originalBitmap,25));
// 设置全局背景
getWindow().getDecorView().setBackground(drawable);
/***************根据名字获取drawable文件夹下的图片*************/
public static int getDrawableIdByName(String name) {
return appContext.getResources().getIdentifier(name, "drawable",
appContext.getPackageName());
}
/*************根据名字获取mipmap文件夹下的图片***************/
public static int getMipmapIdByName(String name) {
return appContext.getResources().getIdentifier(name, "mipmap", appContext.getPackageName());
}
备份,免得以后需要又到处找
引入jar:
/** 图片加载 */
implementation 'com.github.bumptech.glide:glide:4.12.0'
/** 毛玻璃效果 */
implementation 'jp.wasabeef:glide-transformations:4.3.0'
/***/
头像加载工具类GlideUtils:
/**
* @param context
* @param url 图片地址
* @param view 显示控件
* @param placeResId 本地图片id(默认图)
* @param showType 1是圆形,2圆角
*/
public static void setHttpImg(Context context, String url, ImageView view, int placeResId, int showType, int filletSize) {
//设置图片圆角角度
RequestOptions options = null;
if (showType == 1) {
options = RequestOptions.circleCropTransform()
.placeholder(placeResId == 0 ? R.drawable.no_banner : placeResId)// 正在加载中的图片
.error(placeResId == 0 ? R.drawable.no_banner : placeResId);// 加载失败的图片
} else if (showType == 2) {
options = RequestOptions.bitmapTransform(new GlideRoundTransform(context, filletSize))
.placeholder(placeResId == 0 ? R.drawable.no_banner : placeResId)// 正在加载中的图片
.error(placeResId == 0 ? R.drawable.no_banner : placeResId)// 加载失败的图片
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)//不缓存图片
.dontAnimate()
.skipMemoryCache(true);// 磁盘缓存策略
}
Glide.with(context).load(url).apply(options).into(view);
}
加载头像/加载图片:
GlideUtils.setHttpImg(getContext(), UserHelper.getInstance().getUserInfo().getImgUrl(), tab_mine_headimg, R.mipmap.default_user_icon, 1);
实际代码:
Glide.with(this)
.load(UserHelper.getInstance().getUserInfo().getImgUrl())
.error(R.mipmap.tab_mine_top_bg)
.apply(new RequestOptions().transform(new BlurTransformation(15, 3), new
ColorFilterTransformation(getResources().getColor(R.color.font_66000000))))
.into(ivHeadImg);
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_25406415/article/details/126155786
更多推荐




所有评论(0)