android 利用Bitmap获取圆角矩形、圆形图片详解手机开发

1.在很多时候,我们要显示图片资源,需要将他的资源显示为圆角的;示例源码如下:

public static Bitmap getRoundedCornerBitmap(Bitmap bitmap,float roundPx){     
             
        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);     
      
        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;     
    }

注意:bitmap为图片资源;roundPx圆角的角度值float;

2.得到圆形资源图片。

public static Bitmap getOvalBitmap(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);  
      
        paint.setAntiAlias(true);     
        canvas.drawARGB(0, 0, 0, 0);     
        paint.setColor(color);     
         
        canvas.drawOval(rectF, paint); 
      
        paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));     
        canvas.drawBitmap(bitmap, rect, rect, paint);     return output;   
    }

注:以上代码均经测试实用,复制即可使用;如有问题请留言交谈;

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/app/6162.html

(0)
上一篇 2021年7月17日 00:42
下一篇 2021年7月17日 00:42

相关推荐

发表回复

登录后才能评论