首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android Bit地图 圆角

2012-08-28 
Android Bitmap 圆角第一种是生成圆角背景:Button mView (Button)findViewById(R.id.mView)Bitmap myCo

Android Bitmap 圆角
第一种是生成圆角背景:

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;}

热点排行