This commit is contained in:
tongchenfei
2020-01-19 18:07:43 +08:00
parent 4a35f30dda
commit dce5dfc683

View File

@@ -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) {