blob: 197a77410831f2d553043fcd8ee5bc68f23b8e20 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
package com.cyanogenmod.messaging.util;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import android.graphics.Shader;
import android.support.v7.appcompat.R;
public class RoundedCornerTransformation implements com.squareup.picasso.Transformation {
private Context mContext;
private String mTag;
public RoundedCornerTransformation(Context context, String tag) {
mContext = context;
mTag = tag;
}
@Override
public Bitmap transform(Bitmap source) {
int width = source.getWidth();
int height = source.getHeight();
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
final RectF rect = new RectF(0, 0, width, height);
final int radius =
mContext.getResources().getDimensionPixelSize(R.dimen.maps_corner_radius);
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
BitmapShader shader = new BitmapShader(source, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
paint.setShader(shader);
canvas.drawRoundRect(rect, radius, radius, paint);
source.recycle();
return bitmap;
}
@Override
public String key() {
return mTag;
}
}
|