From dce5dfc6835ca92797471df6979a7cacb6a64f8a Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Sun, 19 Jan 2020 18:07:43 +0800 Subject: [PATCH] bug fix --- .../mogo/utils/glide/GlideBlurTransformation.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/foudations/mogo-utils/src/main/java/com/mogo/utils/glide/GlideBlurTransformation.java b/foudations/mogo-utils/src/main/java/com/mogo/utils/glide/GlideBlurTransformation.java index d8f753a4c9..9ee136f036 100644 --- a/foudations/mogo-utils/src/main/java/com/mogo/utils/glide/GlideBlurTransformation.java +++ b/foudations/mogo-utils/src/main/java/com/mogo/utils/glide/GlideBlurTransformation.java @@ -11,6 +11,7 @@ import androidx.annotation.NonNull; import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; import com.bumptech.glide.load.resource.bitmap.CenterCrop; +import com.mogo.utils.logger.Logger; /** * 使用Glide加载图片时,使该图片进行高斯模糊 @@ -20,23 +21,32 @@ import com.bumptech.glide.load.resource.bitmap.CenterCrop; */ public class GlideBlurTransformation extends CenterCrop { private static final float DEFAULT_BLUR_RADIUS = 25F; + private static final float DEFAULT_OUT_WIDTH_SCALE = 0.5F; private Context context; private float blurRadius; + private float outScale; public GlideBlurTransformation(Context context) { this(context, DEFAULT_BLUR_RADIUS); } public GlideBlurTransformation(Context context, float blurRadius) { + this(context, blurRadius, DEFAULT_OUT_WIDTH_SCALE); + } + + public GlideBlurTransformation(Context context, float blurRadius, float outWidthScale) { this.context = context; this.blurRadius = blurRadius; + this.outScale = outWidthScale; } @Override protected Bitmap transform(@NonNull BitmapPool pool, @NonNull Bitmap toTransform, int outWidth, int outHeight) { Bitmap bitmap = super.transform(pool, toTransform, outWidth, outHeight); - return blurBitmap(bitmap, blurRadius, (int) (outWidth * 0.5), (int) (outHeight * 0.5)); + Logger.d("GlideBlurTransformation", "transform=== blurRadius: " + blurRadius + " " + + "outScale: " + outScale); + return blurBitmap(bitmap, blurRadius, (int) (outWidth * outScale), (int) (outHeight * outScale)); } private Bitmap blurBitmap(Bitmap bitmap, float blurRadius, int outWidth, int outHeight) {