Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.aws3.ebenradio.view.custom_views;
- import android.content.Context;
- import android.graphics.Bitmap;
- import android.graphics.Canvas;
- import android.graphics.Paint;
- import com.bumptech.glide.Glide;
- import com.bumptech.glide.load.engine.Resource;
- import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
- import com.bumptech.glide.load.resource.bitmap.BitmapResource;
- import com.squareup.picasso.Transformation;
- public class BlurTransformationV2 implements com.bumptech.glide.load.Transformation<Bitmap> {
- private static int MAX_RADIUS = 15;
- private static int DEFAULT_DOWN_SAMPLING = 1;
- private Context mContext;
- private int mRadius;
- private int mSampling;
- private BitmapPool bitmapPool;
- public BlurTransformationV2(Context context) {
- this(context, MAX_RADIUS, DEFAULT_DOWN_SAMPLING);
- }
- public BlurTransformationV2(Context context, int radius) {
- this(context, radius, DEFAULT_DOWN_SAMPLING);
- }
- public BlurTransformationV2(Context context, int radius, int sampling) {
- mContext = context.getApplicationContext();
- mRadius = radius;
- bitmapPool = Glide.get(context).getBitmapPool();
- mSampling = sampling;
- }
- @Override
- public Resource<Bitmap> transform(Resource<Bitmap> resource, int outWidth, int outHeight) {
- Bitmap source = resource.get();
- int scaledWidth = source.getWidth() / mSampling;
- int scaledHeight = source.getHeight() / mSampling;
- Bitmap bitmap = Bitmap.createBitmap(scaledWidth, scaledHeight, Bitmap.Config.ARGB_8888);
- Canvas canvas = new Canvas(bitmap);
- canvas.scale(1 / (float) mSampling, 1 / (float) mSampling);
- Paint paint = new Paint();
- paint.setFlags(Paint.FILTER_BITMAP_FLAG);
- canvas.drawBitmap(source, 0, 0, paint);
- bitmap = RSBlurV2.blurBitmap(bitmap, mRadius, mContext);
- source.recycle();
- return BitmapResource.obtain(bitmap, bitmapPool);
- }
- @Override
- public String getId() {
- return "BlurTransformation(radius=" + mRadius + ", sampling=" + mSampling + ")";
- }
- }
Add Comment
Please, Sign In to add comment