第一种是生成圆角背景:
Button mView = (Button)findViewById(R.id.mView);Bitmap myCoolBitmap = ((BitmapDrawable) getResources().getDrawable(R.drawable.icon)).getBitmap();int w = myCoolBitmap.getWidth(), h = myCoolBitmap.getHeight();Bitmap rounder = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);Canvas canvas = new Canvas(rounder);Paint xferPaint = new Paint(Paint.ANTI_ALIAS_FLAG);xferPaint.setColor(Color.RED);canvas.drawRoundRect(new RectF(0, 0, w, h), 20.0f, 20.0f, xferPaint);xferPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));canvas.drawBitmap(myCoolBitmap, 0, 0, null);canvas.drawBitmap(rounder, 0, 0, xferPaint);Drawable drawable = new BitmapDrawable(rounder);  mView.setBackgroundDrawable(drawable);


第二种是真的圆角的位图:
public Bitmap getRoundedCornerBitmap(Bitmap bitmap) {// 创建一个指定宽度和高度的空位图对象Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),bitmap.getHeight(), Config.ARGB_8888);// 用该位图创建画布Canvas canvas = new Canvas(output);// 画笔对象final Paint paint = new Paint();// 画笔的颜色final int color = 0xff424242;// 矩形区域对象final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());// 未知final RectF rectF = new RectF(rect);// 拐角的半径final float roundPx = 30;// 消除锯齿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);// 最终在画布上呈现的就是该圆角矩形图片,然后我们返回该Bitmap对象return output;}

更多相关文章

  1. Android 设置全屏,画图,加载位图
  2. Android bitmap位图旋转
  3. drawRoundRect方法:绘制圆角矩形
  4. Android上实现柱状图表 可实现边框矩形 没填充色
  5. 转:Android实现矩形设置菜单
  6. Android 官方文档:(一)动画和图像 —— 1.5 画布和画图
  7. Android标准Glide加载圆形图和圆角矩形图
  8. Android画圆角矩形图片,并在图片上写字
  9. Android学习(18)Canvas_画布(绘图)

随机推荐

  1. Android最佳实践之响应灵敏性(ANR)
  2. Android中Sqlite数据库多线程并发问题
  3. Android触摸事件onScroll和onFling特别重
  4. Android(安卓)EditText imeOptions属性详
  5. 不可错过的四款 Android(安卓)开发工具
  6. ndk 编译webrtc出现 rw_lock_posix.h:35:
  7. Android在使用WebView时,图片显示出错问题
  8. Android通信方式篇(一)-消息机制(Java层)
  9. 最近研究有关Android中的TextView
  10. Android中像素相关说明