实现Android图片圆角

public static Bitmap toRoundCorner(Bitmap bitmap, int pixels) {  
          
        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 = pixels;  
  
        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;  
    }



使用示例:
 LinearLayout layout = (LinearLayout) findViewById(R.id.layout);
        Drawable drawable = getResources().getDrawable(R.drawable.bg);
        BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;
        Bitmap bitmap = bitmapDrawable.getBitmap();
        
        BitmapDrawable bbb = new BitmapDrawable(toRoundCorner(bitmap, 30));
        layout.setBackgroundDrawable(bbb);


你可能感兴趣的:(android,layout,float,output)