Guest User

Untitled

a guest
Oct 18th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.09 KB | None | 0 0
  1. package com.aws3.ebenradio.view.custom_views;
  2.  
  3. import android.content.Context;
  4. import android.graphics.Bitmap;
  5. import android.graphics.Canvas;
  6. import android.graphics.Paint;
  7.  
  8. import com.bumptech.glide.Glide;
  9. import com.bumptech.glide.load.engine.Resource;
  10. import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
  11. import com.bumptech.glide.load.resource.bitmap.BitmapResource;
  12. import com.squareup.picasso.Transformation;
  13.  
  14.  
  15. public class BlurTransformationV2 implements com.bumptech.glide.load.Transformation<Bitmap> {
  16.  
  17. private static int MAX_RADIUS = 15;
  18. private static int DEFAULT_DOWN_SAMPLING = 1;
  19.  
  20. private Context mContext;
  21.  
  22. private int mRadius;
  23. private int mSampling;
  24.  
  25. private BitmapPool bitmapPool;
  26.  
  27. public BlurTransformationV2(Context context) {
  28. this(context, MAX_RADIUS, DEFAULT_DOWN_SAMPLING);
  29. }
  30.  
  31. public BlurTransformationV2(Context context, int radius) {
  32. this(context, radius, DEFAULT_DOWN_SAMPLING);
  33. }
  34.  
  35. public BlurTransformationV2(Context context, int radius, int sampling) {
  36. mContext = context.getApplicationContext();
  37. mRadius = radius;
  38. bitmapPool = Glide.get(context).getBitmapPool();
  39. mSampling = sampling;
  40. }
  41.  
  42. @Override
  43. public Resource<Bitmap> transform(Resource<Bitmap> resource, int outWidth, int outHeight) {
  44.  
  45. Bitmap source = resource.get();
  46. int scaledWidth = source.getWidth() / mSampling;
  47. int scaledHeight = source.getHeight() / mSampling;
  48.  
  49. Bitmap bitmap = Bitmap.createBitmap(scaledWidth, scaledHeight, Bitmap.Config.ARGB_8888);
  50.  
  51. Canvas canvas = new Canvas(bitmap);
  52. canvas.scale(1 / (float) mSampling, 1 / (float) mSampling);
  53. Paint paint = new Paint();
  54. paint.setFlags(Paint.FILTER_BITMAP_FLAG);
  55. canvas.drawBitmap(source, 0, 0, paint);
  56. bitmap = RSBlurV2.blurBitmap(bitmap, mRadius, mContext);
  57. source.recycle();
  58.  
  59. return BitmapResource.obtain(bitmap, bitmapPool);
  60. }
  61.  
  62. @Override
  63. public String getId() {
  64. return "BlurTransformation(radius=" + mRadius + ", sampling=" + mSampling + ")";
  65. }
  66.  
  67. }
Add Comment
Please, Sign In to add comment