/**
* 将图片转化为圆角图片
*
* @param drawable
* @param roundPX
* @return
*/
private static Bitmap getRoundCornerDrawable(Drawable drawable, float roundPX /* 圆角的半径 */) {
int w = drawable.getIntrinsicWidth();
int h = drawable.getIntrinsicHeight();
Bitmap bitmap = Bitmap.createBitmap(w, h, drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
: Bitmap.Config.RGB_565);
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, w, h);
drawable.draw(canvas);
int width = bitmap.getWidth();
int height = bitmap.getHeight();
Bitmap retBmp = Bitmap.createBitmap(width, height, Config.ARGB_8888);
Canvas can = new Canvas(retBmp);
final int color = 0xff424242;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, width, height);
final RectF rectF = new RectF(rect);
paint.setColor(color);
paint.setAntiAlias(true);
can.drawARGB(0, 0, 0, 0);
can.drawRoundRect(rectF, roundPX, roundPX, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
can.drawBitmap(bitmap, rect, rect, paint);
// return new BitmapDrawable(retBmp);
return retBmp;
}
Android 图片圆角
最新推荐文章于 2024-06-14 18:09:12 发布