import
android.app.Activity;
import
android.graphics.Bitmap;
import
android.graphics.Bitmap.Config;
import
android.graphics.Canvas;
import
android.graphics.Paint;
import
android.graphics.PorterDuff.Mode;
import
android.graphics.BitmapFactory;
import
android.graphics.PorterDuffXfermode;
import
android.graphics.Rect;
import
android.graphics.RectF;
import
android.os.Bundle;
import
android.widget.ImageView;
import
android.widget.LinearLayout;
public
class
MainActivity
extends
Activity {
LinearLayout linearLayout1;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
linearLayout1 = (LinearLayout) findViewById(R.id.LinearLayout1);
ImageView iv1 =
new
ImageView(getApplicationContext());
Bitmap bm1 = BitmapFactory.decodeResource(getResources(), R.drawable.img1);
Bitmap bm2 = getRoundedCornerBitmap(bm1);
iv1.setImageBitmap(bm2);
linearLayout1.addView(iv1);
}
public
static
Bitmap getRoundedCornerBitmap(Bitmap bitmap) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
bitmap.getHeight(), Config.ARGB_8888);
Canvas canvas =
new
Canvas(output);
final
int
color =
0xff424242
;
final
Paint paint =
new
Paint();
final
Rect rect =
new
Rect(
0
,
0
, bitmap.getWidth(), bitmap.getHeight());
final
RectF rectF =
new
RectF(rect);
final
float
roundPx =
50
;
paint.setAntiAlias(
true
);
canvas.drawARGB(
0
,
0
,
0
,
0
);
paint.setColor(color);
canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
paint.setXfermode(
new
PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
return
output;
}
}